-2

Python新手,我想做这样的事情:

now = datetime.now()

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

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

last_updated_date 也是一个日期时间值。

如何以分钟或秒为单位获得这两个日期时间值之间的差异?

4

2 回答 2

1

只需减去 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文档页面上解释得非常清楚。

于 2013-01-30T20:48:33.477 回答
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了解更多信息。

于 2013-01-30T20:49:26.977 回答