2010-02-10 8 views
0

J'essaie d'obtenir une valeur de l'une de mes valeurs de base de données, qui sera donnée en soustrayant la date d'achat de la date d'aujourd'hui. J'ai écrit mon code de cette façon:Soustraire deux dates pour donner un timedelta

delta = datetime.now() - item.purchase_date 

Mais cela me donne cette erreur:

unsupported operand type(s) for -: 'datetime.datetime' and 'datetime.date' 

Si je datetime.datetime.now() cela ne fonctionne pas. Qu'est-ce que je rate. Merci.

Répondre

6

vous devez utiliser date.today ou datetime.now().date() au lieu de datetime.now:

>>> import datetime 
>>> datetime.date.today() 
datetime.date(2010, 2, 10) 
>>> datetime.datetime.now().date() 
datetime.date(2010, 2, 10) 
+1

Cela me donne l'objet « method_descriptor » n'a pas d'attribut « aujourd'hui » – Stephen

+0

vous avez un mess avec vos importations, il semble, je l'ai posté un exemple de comment cela fonctionne. – SilentGhost

+0

datetime.now(). Date() fonctionne correctement. date.today fonctionne uniquement à partir du shell python. – Stephen

Questions connexes