gpt4 book ai didi

Python 类型错误 : an integer is required comparing times

转载 作者:太空宇宙 更新时间:2023-11-03 18:25:10 24 4
gpt4 key购买 nike

有很多帖子都有与我类似的问题,但我找不到正确的答案。

我的目标是创建一个 if 语句,将现在的时间与计划(由开始时间和结束时间定义的计划)进行比较。

如果我在时间表中输入特定的数字,它就可以工作,但我需要将变量传递到我的语句中,以确保时间表不会是静态的。

到目前为止我所拥有的:

import time as sleeptime
from datetime import datetime, time
schedule_list = []
def scheduler():
conn = pymysql.connect(host='myhost', db='test', user='1234', passwd='123456', autocommit = True)
cur = conn.cursor()
query = ("SELECT startTimehour, startTimeminute, endTimehour, endTimeminute FROM schedule WHERE hwID = %s")
print query
cur.execute(query, (number))
for row in cur:
print row
door_schedule_list.append(row)
cur.close()
conn.close()
if len(door_schedule_list) > 0:
start_time_hour = door_schedule_list[0][0]
start_time_minute = door_schedule_list[0][1]
end_time_hour = door_schedule_list[0][2]
end_time_minute = door_schedule_list[0][3]
print start_time_hour
print start_time_minute
print end_time_hour
print end_time_minute
while True:
now = datetime.now()
#print (door_schedule_list)
#starttime = time(startTimehour, startTimeminute)
if time("%d","%d") <= now.time() <= time("%d","%d") % (start_time_hour, start_time_minute, end_time_hour, end_time_minute):
print "Schedule active"
sleeptime.sleep(20)
else:
print "Schedule Inactive"
sleeptime.sleep(20)

如果有更简单的方法来实现我的目标,请告诉我。否则我该如何修复错误。

最佳答案

当你这样做时:

if time("%d","%d") <= now.time() <= time("%d","%d") % (start_time_hour,  start_time_minute, end_time_hour, end_time_minute)

% 运算符没有执行您认为它应该执行的操作。

不一样:

time("%d" % 5, "%d" % 4)

time("%d", "%d") % (5, 4)

最后一行将报告错误:需要一个整数

您还可以:

hours = 5
min = 4
time(hours, min)

因此您可以将该行更改为:

if time(start_time_hour, start_time_minute) <= now.time() <= time(end_time_hour, end_time_minute)

关于Python 类型错误 : an integer is required comparing times,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23350772/

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