在app引擎中转换时间到日期时间的字符串表示

时间:2011-09-13 03:29:00

标签: python date-formatting

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

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

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

1 个答案:

答案 0 :(得分: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())