【问题标题】:How do I parse timezones from dates in python如何从python中的日期解析时区
【发布时间】:2011-05-01 15:04:33
【问题描述】:

这是我迄今为止尝试过的。我只是不太确定为什么它输出为 PST 而不是 GMT。我不确定这是否不是解析它或输出它的正确方法。某处似乎有问题。

>>> x = time.strptime('Wed, 27 Oct 2010 22:17:00 GMT', '%a, %d %b %Y %H:%M:%S %Z')

>>> time.strftime('%a, %d %b %Y %H:%M:%S %Z', x)

'Wed, 27 Oct 2010 22:17:00 PST'

感谢任何帮助,

【问题讨论】:

    标签: python timezone date


    【解决方案1】:

    首先我建议你使用 dateutil

    >>> import dateutil.parser
    
    >>> x = dateutil.parser.parse('Wed, 27 Oct 2010 22:17:00 GMT')
    datetime.datetime(2010, 10, 27, 22, 17, tzinfo=tzutc())
    >>> str(x)
    '2010-10-27 22:17:00+00:00'
    >>> x.strftime('%a, %d %b %Y %H:%M:%S %Z')
    'Wed, 27 Oct 2010 22:17:00 UTC'
    

    【讨论】:

      【解决方案2】:

      请参阅strftime behavior 上的文档:

      %Z

      如果 tzname() 返回 None,则 %Z 将替换为空字符串。否则 %Z 被返回的值替换,该值必须是一个字符串。

      dateutil 可用于解析时区。如果您要使用时区,也请参阅 pytz 库,但对于您正在做的事情可能没有必要。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-01-01
        • 1970-01-01
        • 2011-09-28
        • 2016-06-08
        • 2023-03-06
        • 1970-01-01
        • 2017-01-12
        • 2020-07-15
        相关资源
        最近更新 更多