2009-12-11 4 views
4

Supposons que j'ai:Comment comparer datetime dans Django?

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

Comment comparer les 2 objets ci-dessus? Je veux connaître le décalage horaire entre eux. S'il vous plaît aidez-moi à résoudre ce problème. Merci beaucoup !

Répondre

18

Je suppose que pub_date est un django.db.models.DateField, ce qui signifie que vous pouvez le traiter comme un objet datetime.date.

Si vous les convertissez au même type (datetime.datetime ou datetime.date) et soustrayez l'un de l'autre, vous obtiendrez une instance de datetime.timedelta.

Comme vous utilisez datetime.datetime.now(), si votre pub_date est tout simplement une date plutôt que d'un datetime, vous pouvez aussi bien utiliser ds = datetime.date.today() à la place:

>>> ds = datetime.date.today() 
>>> dd = datetime.date(2009, 12, 9) 
>>> ds - dd 
datetime.timedelta(2) # 2 days ago 
Questions connexes