这是我的代码,它应该基本上改为结束开始+ 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)
答案 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()
来使上述代码执行您想要的操作,但这不是一个好主意。