自动更新datetime.datetime.now()的存储值

时间:2012-09-12 06:15:54

标签: python datetime

这是我的代码,它应该基本上改为结束开始+ 25分钟。 我只是想知道是否有办法将datetime.datetime.now()更新为当前时间。 就目前而言,它只是停留在我第一次使用模块时的状态。 所以if语句永远不会成真。

import datetime
start = datetime.datetime.now()
end = start + datetime.timedelta(minutes = 25)
if start == end:
    end = end + datetime.timedelta(minutes = 25)

2 个答案:

答案 0 :(得分:2)

正如CharlesB所建议的那样,起始变量没有更新。您需要在要执行测试时使用now值。

重写一行:

if start == end:

if datetime.datetime.now() > end:

修改 在Tommo的评论之后,我认为另一种解决方案可能更容易。

import time
while True:
    putMessageToScreen()
    time.sleep(25*60)

答案 1 :(得分:0)

如果要在后续引用中更改值,则需要使用函数调用,而不是存储变量。

原则上,您可以通过继承datetime.datetime并定义__add__方法重新计算datetime.datetime.now()来使上述代码执行您想要的操作,但这不是一个好主意。