如何将此日期字符串转换为日期时间日期对象?

时间:2013-11-07 22:01:01

标签: python datetime python-2.7

我无法弄清楚为什么这个日期字符串在我尝试将其转换为日期时间对象时会抛出错误。

我的日期字符串位于standard ISO-8601 formatu'2013-11-05T20:24:51+0000'

基于Python strptime documentation的表观格式:'%Y-%m-%dT%H:%M:%S%Z'

但出于某种原因,当我跑步时:

test = datetime.strptime('2013-11-05T20:24:51+0000', '%Y-%m-%dT%H:%M:%S%Z')

我得到了

ValueError: time data '2013-11-05T20:24:51+0000' does not match format '%Y-%m-%dT%H:%M:%S%Z'`

1 个答案:

答案 0 :(得分:2)

%Z是错误的指令。

试试这个

datetime.strptime('2013-11-05T20:24:51+0000', '%Y-%m-%dT%H:%M:%S+%f')

More here

演示:

>>> from datetime import datetime
>>> datetime.strptime('2013-11-05T20:24:51+0000', '%Y-%m-%dT%H:%M:%S%Z')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/_strptime.py", line 325, in _strptime
    (data_string, format))
ValueError: time data '2013-11-05T20:24:51+0000' does not match format '%Y-%m-%dT%H:%M:%S%Z'
>>> datetime.strptime('2013-11-05T20:24:51+0000', '%Y-%m-%dT%H:%M:%S+%f')
datetime.datetime(2013, 11, 5, 20, 24, 51)