使用feedparser填充Django DateTimeField

5 投票
2 回答
1650 浏览
提问于 2025-04-16 19:13

我正在尝试把我学校的体育活动日历读取到Django的事件模型中,这个日历可以用iCal或RSS格式获取,使用的是feedparser。

一切都正常,除了日期部分。feedparser把item.updated_parsed填充成一个“9元组”,但我不知道怎么把这个转换成Django能接受的DateTimeField格式。(我之前用过这个字段,但它们都是通过datetime.datetime.now()填充的。)

有没有什么想法?

2 个回答

2

好的,Django的日期时间字段可以接受Python的日期时间对象,所以你需要把Feedparser提供的内容转换成一个日期时间对象。这其实很简单:

from datetime import datetime
time_object = datetime(nine_tuple[:8])

编辑: 如何将Python的time.struct_time对象转换成日期时间对象?

9

time.struct_time 这个对象转换成 datetime.datetime 这个对象:

from time import mktime
from datetime import datetime
dt = datetime.fromtimestamp(mktime(item['updated_parsed']))

撰写回答