Python新手,我想做类似的事情:
now = datetime.now()
if now - myClass.last_updated_date >= 3 min:
myClass.update()
意思是,如果myClass在最近3分钟内没有更新,请立即更新。
last_updated_date也是一个日期时间值。
如何以分钟或秒数的形式获得这两个日期时间值之间的差异?
答案 0 :(得分:1)
只需减去日期时间对象就会得到一个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
documentation page上非常清楚地解释了这一点。
答案 1 :(得分:0)
delta = now - myClass.last_updated_date
minutes = delta.minutes
seconds = delta.seconds
type(delta) #=> <type 'datetime.timedelta'>