Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to compare datetime in Django?

Suppose I have:

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

How to compare 2 objects above? I want to get the time difference between them. Please help me solve this problem. Thank you very much !

like image 726
anhtran Avatar asked Dec 02 '22 06:12

anhtran


1 Answers

I am assuming that pub_date is a django.db.models.DateField, which means you can treat it as a datetime.date object.

If you convert them to the same type (either datetime.datetime or datetime.date) and subtract one from the other, you will get an instance of datetime.timedelta.

As you are using datetime.datetime.now(), if your pub_date is simply a date rather than a datetime, you may as well use ds = datetime.date.today() instead:

>>> ds = datetime.date.today()
>>> dd = datetime.date(2009, 12, 9)
>>> ds - dd
datetime.timedelta(2) # 2 days ago
like image 144
Ben James Avatar answered Dec 17 '22 10:12

Ben James