有没有办法检查您的当前时间是否在结束时间小于开始时间的时间范围内?
我看到的所有例子和答案都是开始时间小于结束时间的。例如
import datetime
start_time = datetime.time(1)
end_time = datetime.time(12)
for i in range(0,24):
now = datetime.time(i)
if start_time <= now <= end_time:
print "%s in range" % now
else:
print "%s not in range" % now
如果now
在范围内,将正确返回。
但是,这种方法在结束时间大于开始时间时不起作用。
start_time = datetime.time(22)
end_time = datetime.time(12)
这将永远返回not in range
。
如果可能的话,我想避免做这样的事情:
if start_time < end_time:
# do start <= now <= end comparison
else:
# check if now is past midnight or before midnight
# then check against start or end time