Python使用时区偏移量转换日期/时间字符串
我有一些类似于Python使用时区偏移量转换日期/时间字符串,python,Python,我有一些类似于Fri Aug 03 15:16:37+0000 2012的东西,我想把它转换成03-08-2012 我也有一些日期作为Unix时间戳,如1344006622,这里我只是做: datetime.datetime.fromtimestamp(1344006622).strftime('%d-%m-%Y') 但这只适用于Unix时间戳。如何转换第一个呢?Python 2和dateutil 据我所知,Python 2只为时区名称提供了%Z(大写Z),但您有一个偏移量(+0000),但有
Fri Aug 03 15:16:37+0000 2012
的东西,我想把它转换成03-08-2012
我也有一些日期作为Unix时间戳,如1344006622
,这里我只是做:
datetime.datetime.fromtimestamp(1344006622).strftime('%d-%m-%Y')
但这只适用于Unix时间戳。如何转换第一个呢?Python 2和dateutil
据我所知,Python 2只为时区名称提供了%Z
(大写Z),但您有一个偏移量(+0000
),但有一个名为的库可以帮助您:
>>> import dateutil
>>> import dateutil.parser
>>> dateutil.parser.parse('Fri Aug 03 15:16:37 +0000 2012')
datetime.datetime(2012, 8, 3, 15, 16, 37, tzinfo=tzutc())
在上面的示例中,我使用了Python 2.7.9和dateutil 2.4.2
您可以使用检查您的版本
>>> dateutil.__version__
'2.4.2'
您可以使用pip install python dateutil
安装它,或者如果您想指定版本pip install python dateutil==2.4.2
Python 3
自Python 3.2以来,有一个解析时区信息的%z
:
>>> from datetime import datetime
>>> datetime.strptime('Fri Aug 03 15:16:37 +0000 2012', '%a %b %d %H:%M:%S %z %Y')
datetime.datetime(2012, 8, 3, 15, 16, 37, tzinfo=datetime.timezone.utc)
有关所用参数的解释,请参阅您使用的是哪一版本的Python?我使用的是Python 2.7谢谢。因为我使用的是Python2.7,你有什么进一步的想法吗。非常感谢;)