在python中解析Facebook feed日期时间?

时间:2009-12-28 02:56:46

标签: python django datetime facebook feedparser

  1. 我正在使用python库'feedparser'阅读Facebook更新供稿。
  2. 我遍历Django模板中的条目集合,并显示结果。
  3. 更新的字段以一个很长的字符串返回,我不熟悉某种格式。

    星期二,2009年12月1日23:55:52 +0000

  4. 我怎么能......

    A)使用Django过滤器清除模板上for循环中的日期时间。

    ...或...

    B)在视图中解析日期并格式化更新日期,在视图中迭代之前,首先清理条目集合中的日期。

    注意:我尝试了两种方法。 Django的日期过滤器无法识别它,我尝试解析字符串的iso8601库也没有。

    有人有这方面的经验吗?谢谢你的帮助!

    更新

    在Django模板中使用feedparser中的updated_pa​​rsed值并没有那么好用。但是这个东西的Django片段已经存在!**

    Django代码段 http://www.djangosnippets.org/snippets/1595/

2 个答案:

答案 0 :(得分:4)

使用entries[i].updated_parsed代替entries[i].updatedfeedparser将为您返回已解析的9元组。 (Documentation

然后构建一个datetime对象并将其传递给Django或自行格式化为字符串。

有一个类似的问题here

答案 1 :(得分:2)

这有效但不是我的最终解决方案最终成为的。

此解决方案迭代我从Facebook返回的Feed条目集合。然后我解析日期时间并将更新的属性设置为新的日期时间。 (另外,忽略+0000)

for entry in feed.entries:
        entry.updated = datetime.strptime(entry.updated, "%a, %d %b %Y %H:%M:%S +0000")

条目集合返回到模板,我现在可以使用Django'日期'过滤器来格式化日期。