0

当我尝试将它转换为日期时间对象时,我无法弄清楚为什么这个日期字符串会引发错误。

我的日期字符串采用标准 ISO-8601 格式u'2013-11-05T20:24:51+0000'

基于 Python 的strptime 文档的表观格式:'%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'`
4

1 回答 1

2

%Z 这里是错误的指令。

尝试这个

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

更多在这里

演示:

>>> 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)
于 2013-11-07T22:05:53.400 回答