我正在尝试在 Python 中比较两次,如果 last_update 比 time_now 提前 1 小时以上运行函数
到目前为止我有
last_update = '01:00:00'
time_now = strftime("%H:%M:%S", gmtime())
time_now= str(time_now)
FMT = '%H:%M:%S'
tdiff = datetime.strptime(time_now, FMT) - datetime.strptime(time_update, FMT)
正确输出时间差。但是我看不到如何在逻辑语句中使用它,例如
if tdiff > 01:00:00
..do stuff..
任何想法..?
最佳答案
当只解析一个时间(没有日期)时,您需要将结果对象与今天的日期重新组合:
from datetime import datetime, date, timedelta
dt_update = datetime.combine(date.today(), datetime.strptime(last_update, '%H:%M:%S').time())
如果您不这样做,您最终会在对象上得到日期 1900-01-01
,但重新组合它可以更轻松地将时间与当前时间进行比较。只需使用 datetime.now()
将其与以下内容进行比较:
tdiff = datetime.now() - dt_update
现在您有一个 timedelta()
对象。将它与另一个 timedelta
进行比较:
if tdiff > timedelta(hours=1):
关于python - 在 python 中使用 IF 语句的时间差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16325553/