如何从python中的日期解析时区

时间:2010-10-28 00:29:02

标签: python timezone date

这是我到目前为止所尝试的内容。我不太确定为什么它输出为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'

感谢任何帮助,

2 个答案:

答案 0 :(得分:2)

首先,我建议您使用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'

答案 1 :(得分:1)

请参阅strftime behavior上的文档:

  

%Z

     

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

dateutil可用于解析时区。如果您打算使用时区,请参阅pytz库,但可能没有必要为您所做的事情。