Python 中的一个小时差异

11 投票
2 回答
21604 浏览
提问于 2025-04-15 21:11

我有一个叫做 var 的日期时间属性。
我想知道这个时间是否距离现在少于一个小时。
大概是这样的:

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

上面这个写法的问题在于:

datetime.datetime.today().hour

它返回的是一个数字,比如“10”,这其实不是在比较日期,而是在比较数字。
那么,正确的写法是什么呢?

谢谢!

乔尔

2 个回答

3

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

使用 datetime.timedelta

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

撰写回答