gpt4 book ai didi

python - 在 while 语句中比较两个日期时程序空闲

转载 作者:太空宇宙 更新时间:2023-11-04 00:42:27 24 4
gpt4 key购买 nike

不知道如何正确描述我的问题,但是当我在 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() 为您提供您所在时区的当前日期时间(您的机器有):

改变:

d = datetime.datetime.utcnow()

到:

d = datetime.datetime.now()

或:

d = datetime.datetime.today()

会解决你的问题。

关于python - 在 while 语句中比较两个日期时程序空闲,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41297175/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com