首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将RFC2822日期/时间解析为Python日期时间?

如何将RFC2822日期/时间解析为Python日期时间?
EN

Stack Overflow用户
提问于 2009-05-19 21:03:05
回答 6查看 12.8K关注 0票数 28

我有一个由RFC2822指定的格式的日期--比如说Fri, 15 May 2009 17:58:28 +0000,它是一个字符串。在Python2.5中,有没有一种快速和/或标准的方法将其作为datetime对象?我试图生成strptime格式的字符串,但是+0000时区说明符混淆了解析器。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-08-11 05:50:01

问题是parsedate会忽略偏移量。

改为执行以下操作:

代码语言:javascript
复制
from email.utils import parsedate_tz
print parsedate_tz('Fri, 15 May 2009 17:58:28 +0700')
票数 42
EN

Stack Overflow用户

发布于 2013-06-18 03:58:43

我想详细说明一下之前的答案。email.utils.parsedateemail.utils.parsedate_tz都返回元组,因为OP需要一个datetime.datetime对象,为了完整性,我添加了以下示例:

代码语言:javascript
复制
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))

或者:

代码语言:javascript
复制
d2 = datetime.datetime(*t[:6])

注意,d1d2都是简单的datetime对象,没有存储时区信息。如果您需要识别datetime对象,请查看tzinfo datetime() arg。

或者,您可以使用dateutil模块

票数 15
EN

Stack Overflow用户

发布于 2009-05-19 21:11:15

代码语言:javascript
复制
from email.utils import parsedate
print parsedate('Fri, 15 May 2009 17:58:28 +0000')

Documentation

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/885015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档