如何在Django中比较日期时间?
假设我有:
ds = datetime.datetime.now
dd = Entry.objects.get(pk=id).pub_date
我该如何比较上面这两个对象呢?我想要知道它们之间的时间差。请帮我解决这个问题,非常感谢!
1 个回答
19
我假设 pub_date
是一个 django.db.models.DateField
,这意味着你可以把它当作一个 datetime.date
对象来使用。
如果你把它们转换成相同的类型(可以是 datetime.datetime
或者 datetime.date
),然后相减,你会得到一个 datetime.timedelta
的实例。
因为你在使用 datetime.datetime.now()
,如果你的 pub_date
只是一个日期,而不是完整的日期时间,你可以直接使用 ds = datetime.date.today()
来代替:
>>> ds = datetime.date.today()
>>> dd = datetime.date(2009, 12, 9)
>>> ds - dd
datetime.timedelta(2) # 2 days ago