2010-04-03 5 views
4

J'ai une propriété datetime.datetime var. Je voudrais savoir si c'est moins d'une heure de l'heure actuelle. Quelque chose commeUne heure de différence en Python

var.hour<datetime.datetime.today().hour - 1 

Problème avec la syntaxe ci-dessus est que

datetime.datetime.today().hour 

retourne un nombre tel que « 10 » et il est pas vraiment une date comparation mais plus d'un nombre comparation.

Quelle est la syntaxe correcte?

Merci!

Joel

Répondre

7

Utilisez datetime.timedelta.

var < datetime.datetime.today() - datetime.timedelta(hours=1) 
+1

Ce devrait être var Joel

+0

Ah oui vous avez raison, merci. Fixé. –

+0

c'est correct. datetime.hour est un int et pas quelque chose qui peut être comparé avec des objets datetime – whaley

0

Vous pouvez utiliser dateutil.relativedelta

from datetime import datetime, timedelta 
from dateutil.relativedelta import relativedelta 

now = datetime.now() 
other_time = now + timedelta(hours=8) 
diff = relativedelta(other_time, now) 
print diff.hours # 8 
Questions connexes