我正在使用Python 2.7并希望使用日期时间函数来计算用户定义的时间来运行小型泵。我知道我错过了一些显而易见的东西,但我一直在寻找,直到我看不清楚。我有一个textCtrl,用户将输入他希望泵运行的分钟数。然后点击一个按钮将启动调度和检查,看看是否是时候关闭水泵:如何使用日期时间来计算持续时间和停止时间?
def timedPump(val):
now = datetime.datetime.now()
timeOff = now + datetime.timedelta(minutes=int(val))
if timeOff > now:
print 'pumpOn'
else:
print 'pumpOff'
return True
的问题是,每次datetime.datetime.now()
更新。我该怎么做才能使now
=按钮被点击的时间?
你需要把你的前两行代码放在另一个函数中(例如“startTimer”),然后返回'timeOff',并调用你的函数textCtrl。然后你可以使用timedPump来检查'timeOff> datetime.datetime.now()'。 – cmaher
当您调用它时,将想要使用的'now'值传递给该函数:即timedPump(datetime.datetime.now(),val)'。 (当然,你需要改变函数的定义。) – martineau