Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python使用时区偏移量转换日期/时间字符串_Python - Fatal编程技术网

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,你有什么进一步的想法吗。非常感谢;)