Python语法:比较日期时间字段,并仅在有足够时间时更新

时间:2013-01-30 20:46:11

标签: python datetime

Python新手,我想做类似的事情:

now = datetime.now()

if now - myClass.last_updated_date >= 3 min:
    myClass.update()

意思是,如果myClass在最近3分钟内没有更新,请立即更新。

last_updated_date也是一个日期时间值。

如何以分钟或秒数的形式获得这两个日期时间值之间的差异?

2 个答案:

答案 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'>

有关详细信息,请查看http://docs.python.org/2/library/datetime.html