我不知道如何正确地描述我的问题,但当我比较while语句中的两个datetime对象时,整个程序停止工作。
我有一个方法work()
import time
import datetime
def work():
now = None
intr = 10.0
d = datetime.datetime.utcnow()
least_time = datetime.datetime.combine(datetime.datetime.today(), datetime.time(10, 10, 00))
finish = datetime.datetime.combine(datetime.datetime.today(), datetime.time(10, 10, 20))
if datetime.datetime.today().weekday() == 0:
least_time = datetime.datetime.combine(datetime.datetime.today(), datetime.time(11,10,00))
finish = datetime.datetime.combine(datetime.datetime.today(), datetime.time(11,10,20))
while d <= finish:
d = datetime.datetime.utcnow()
if intr > 1 and d >= least_time:
intr = 1
print("Interval set to 1 sec")
if now == None:
now = time.time()
if time.time() - now >= intr:
print("Work")
print("_____")
now = None
print("End")
如果我在该方法之前调用print()
或其他东西:
print("1")
print("2")
print("3")
work()
程序只是空闲,什么也不做
发生什么取决于您当前的时区。 对
datetime.datetime.utcnow()
的调用以UTC表示日期时间, 鉴于datetime.datetime.today()
为您的时区(您的计算机有)提供当前日期时间:更改:
致:
或:
会解决你的问题
相关问题 更多 >
编程相关推荐