我有一个由RFC2822指定的格式的日期--比如说Fri, 15 May 2009 17:58:28 +0000,它是一个字符串。在Python2.5中,有没有一种快速和/或标准的方法将其作为datetime对象?我试图生成strptime格式的字符串,但是+0000时区说明符混淆了解析器。
发布于 2009-08-11 05:50:01
问题是parsedate会忽略偏移量。
改为执行以下操作:
from email.utils import parsedate_tz
print parsedate_tz('Fri, 15 May 2009 17:58:28 +0700')发布于 2013-06-18 03:58:43
我想详细说明一下之前的答案。email.utils.parsedate和email.utils.parsedate_tz都返回元组,因为OP需要一个datetime.datetime对象,为了完整性,我添加了以下示例:
from email.utils import parsedate
from datetime import datetime
import time
t = parsedate('Sun, 14 Jul 2013 20:14:30 -0000')
d1 = datetime.fromtimestamp(time.mktime(t))或者:
d2 = datetime.datetime(*t[:6])注意,d1和d2都是简单的datetime对象,没有存储时区信息。如果您需要识别datetime对象,请查看tzinfo datetime() arg。
或者,您可以使用dateutil模块
发布于 2009-05-19 21:11:15
from email.utils import parsedate
print parsedate('Fri, 15 May 2009 17:58:28 +0000')Documentation。
https://stackoverflow.com/questions/885015
复制相似问题