我迭代了一个RSS提要,比如说

d = feedparser.parse(_file)
for element in d.entries:
    print repr(element.date)

输出的日期是这样的
u'Thu, 16 Jul 2009 15:18:22 EDT'

我似乎不明白如何实际量化上面的日期输出,所以我可以使用它来限制feed元素。所以我要问的是,我怎样才能得到一个实际的时间,所以我可以说,如果大于7天,跳过这个元素。

最佳答案

feedparser应该给您一个来自python时间模块的struct_time对象。我猜它不知道日期格式,所以给你一个原始字符串。
有关如何添加对格式错误的时间戳的支持,请参见此处:
http://pythonhosted.org/feedparser/date-parsing.html
如果您设法让它为您提供结构化的时间,您可以在这里阅读更多信息:
http://docs.python.org/library/time.html#time.struct_time
结构时间对象拥有所需的一切他们有以下成员:
time.struct_time(tm_year=2010, tm_mon=2, tm_mday=4, tm_hour=23, tm_min=44, tm_sec=19, tm_wday=3, tm_yday=35, tm_isdst=0)
我通常将结构转换为秒,如下所示:

import time
import calendar

struct = time.localtime()
seconds = calendar.timegm(struct)

然后,您可以只做常规的数学运算来查看经过了多少秒,或者使用datetime模块来做时间增量。

10-08 05:03