1

在标准python中,我可以将时间的字符串表示形式转换为日期时间:

date_string = u'Tue, 13 Sep 2011 02:38:59 GMT';
date_object = datetime.strptime(date_string, '%a, %d %b %Y %H:%M:%S %Z');

这工作正常,直到我通过应用程序引擎调用相同的错误:

time data did not match format:  data=2011-09-13 02:38:59  fmt=%a, %d %b %Y %H:%M:%S %Z

如何正确转换此日期字符串以便获得日期时间表示?

4

1 回答 1

1

您的错误消息表明您并没有真正通过Tue, 13 Sep 2011 02:38:59 GMT,但是2011-09-13 02:38:59. 您确定将正确的参数传递给strptime?

我的python适用于以下情况:

datetime.strptime(u'Tue, 13 Sep 2011 02:38:59 GMT', "%a, %d %b %Y %H:%M:%S %Z")
# returns datetime.datetime(2011, 9, 13, 2, 38, 59)

这对我来说也很好用:

from dateutil imoprt parser as dparser
dparser.parse("Tue, 13 Sep 2011 02:38:59 GMT")
# returns datetime.datetime(2011, 9, 13, 2, 38, 59, tzinfo=tzutc())
于 2011-09-13T06:58:59.290 回答