Skip to main content
 首页 » 编程设计

python之在一段时间内有条件

2025年05月04日8lidabo

我希望在 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