在标准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
如何正确转换此日期字符串,以便获取日期时间表示?
答案 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())