我希望在 10 分钟内比较两个值。如果 A < B 持续 10 分钟,则设置 C,否则什么都不做。
from datetime import datetime
curr = datetime.now()
print (curr)
Curr_Plus_Ten = datetime.now() + timedelta(minutes=10)
print (Curr_Plus_Ten)
上面的输出只是 2012-10-16 11:37:55.224999 和 2012-10-16 11:47:55.224999
我想我会使用当前时间和当前时间 + 10 分钟来实现正确的比较持续时间,但我不知道如何将时间与 If 或 While 结合使用来进行实际比较。 A 和 B 都是整数,而 C 是一个 bool 值,根据比较结果为真或假。任何帮助将不胜感激。
谢谢,
-标记
最佳答案
也许最简单的解决方案是使用 sleep 间隔的阻塞 while 循环。请注意,这仅在您的 A 值实际上可以在两者之间更改时才有效(例如,如果它是 SQL 查询或类似查询的结果)。
import datetime
import time
def getA():
import random
return random.random()
def getB():
return .01
checkTime = datetime.timedelta(minutes=10)
checkIntervalInSecs = .5
c = False
timeToStop = datetime.datetime.now() + checkTime
while(datetime.datetime.now() < timeToStop):
if getA() < getB():
c = True
break
time.sleep(checkIntervalInSecs)
print c
关于python - 在一段时间内有条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12921286/