Python使用时区偏移量转换日期/时间字符串

时间:2016-03-01 12:49:54

标签: python

我有类似Fri Aug 03 15:16:37 +0000 2012的内容,我希望将其转换为03-08-2012

我也有一些日期作为Unix时间戳,如1344006622,这里我只是这样做:

datetime.datetime.fromtimestamp(1344006622).strftime('%d-%m-%Y')

但这仅适用于Unix时间戳。我怎样才能转换第一个?

1 个答案:

答案 0 :(得分:6)

带有dateutil

的Python 2

据我所知,Python 2仅为时区名称提供%Z(大写字母Z),但您有偏移({{1 }}),但是有一个名为dateutil的库可以帮助你:

+0000

在上面的例子中,我使用Python 2.7.9和dateutil 2.4.2 您可以使用

检查您的版本
>>> 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())

您可以使用>>> dateutil.__version__ '2.4.2' 安装,或者如果要指定版本pip install python-dateutil

Python 3

从Python 3.2开始,有pip install python-dateutil==2.4.2解析%z时区信息:

+0000

有关所用参数的说明,请参阅this table