如何在Python中将RFC 822时间戳转换为人类可读格式?

时间:2011-04-02 14:34:00

标签: python rfc822

有没有人知道Python模块会在Python中将RFC 822时间戳转换为人类可读的格式(比如Twitter)?

我找到parsedatetime,似乎反过来了。

3 个答案:

答案 0 :(得分:8)

在python中,您可以使用rfc822模块。此模块提供parsedate方法。

  

尝试根据RFC 2822中的规则解析日期。

但是,此模块已弃用

  

自版本2.3开始不推荐使用:应优先使用电子邮件包而不是rfc822模块。此模块仅用于保持向后兼容性,并已在3.0中删除。

根据此评论,最好使用parsedate模块中的email.utils方法。

email.utils.parsedate(date)

编辑:

示例代码:

import email.utils
from time import mktime
from datetime import datetime

example_date = "Sat, 02 Mar 2011 15:00:00"
date_parsed = email.utils.parsedate(example_date)
dt = datetime.fromtimestamp(mktime(date_parsed))

today = datetime.today()
diff_date = today - dt  # timedelta object

print "%s days, %s hours ago" \
    % (diff_date.days, diff_date.seconds / 3600)

输出(暂时):

31 days, 2 hours ago

答案 1 :(得分:2)

datetime.strptime会将时间戳转换为日期时间对象,您可以使用datetime.strftime格式化

http://docs.python.org/library/datetime.html#strftime-strptime-behavior

答案 2 :(得分:0)