2010-04-03 57 views
4

我有一个datetime.datetime属性var。 我想知道它是否不到当前时间的一小时。 喜欢的东西Python中一小时的差异

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

问题与上面的语法是

datetime.datetime.today().hour 

返回一个数字,如“10”,这是不是一个真正的日期比较 - 但更多的号比较学。

什么是正确的语法?

谢谢!

乔尔

回答

7

使用datetime.timedelta

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

这应该是 VAR Joel 2010-04-03 14:05:25

+0

啊,你是对的,谢谢。固定。 – 2010-04-03 14:12:05

+0

这是正确的。 datetime.hour是一个int,不能与日期时间对象进行比较 – whaley 2010-04-03 14:16:13

0

您可以使用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