如何在Django中比较日期时间?

anh*_*ran 4 python django datetime django-views

假设我有:

ds = datetime.datetime.now
dd = Entry.objects.get(pk=id).pub_date
Run Code Online (Sandbox Code Playgroud)

如何比较上面的2个对象?我想得到它们之间的时差.请帮我解决这个问题.非常感谢你 !

Ben*_*mes 18

我假设这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
Run Code Online (Sandbox Code Playgroud)