2009-12-11 2 views
4

Предположим, у меня есть:Как сравнить datetime в Django?

ds = datetime.datetime.now 
dd = Entry.objects.get(pk=id).pub_date 

Как сравнить 2 объекта выше? Я хочу получить разницу во времени между ними. Пожалуйста, помогите мне решить эту проблему. Большое спасибо !

ответ

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 
Смежные вопросы