Python新手,我想做这样的事情:
now = datetime.now()
if now - myClass.last_updated_date >= 3 min:
myClass.update()
意思是,如果 myClass 在过去 3 分钟内没有更新,请立即更新。
last_updated_date 也是一个日期时间值。
如何以分钟或秒为单位获得这两个日期时间值之间的差异?
只需减去 datetime 对象就会得到一个datetime.timedelta
,它们可以直接相互比较:
In [1]: import datetime
In [2]: old = datetime.datetime.now()
In [3]: new = datetime.datetime.now()
In [4]: new - old
Out[4]: datetime.timedelta(0, 6, 502461)
In [5]: new - old > datetime.timedelta(minutes=3)
Out[5]: False
In [6]: new - old > datetime.timedelta(seconds=3)
Out[6]: True
这在datetime
文档页面上解释得非常清楚。
delta = now - myClass.last_updated_date
minutes = delta.minutes
seconds = delta.seconds
type(delta) #=> <type 'datetime.timedelta'>