python - 在一段时间内有条件

标签 python datetime timedelta

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

相关文章:

python - 使用 Db 数据填充 Django 表单字段数据

Python:如何转换 time.strftime 以显示 UTC 而不是本地时区?

Python pandas cumsum()在达到最大值后重置

python - Django查询: "datetime + delta" as an expression

Python Timedelta64 将天数转换为月数

python - 扩展 pygame Sprite 类

python - 检查小数点python

python - Redland 的 Python 绑定(bind)中的存储事务?

基于 date_time 索引值的 Python/pandas 条件语句

java - 了解 java.util.Calendar WEEK_OF_YEAR