我试图找到最干净/最pythonic的方式来评估"现在"是否介于两次之间; 然而; 开始/结束时间可能会或可能不会落在一天的边界 - 例如(仅使用简单示例):
onhour=23
onmin=30
offhour=4
offmin=15
timenow = datetime.datetime.now().time()
Run Code Online (Sandbox Code Playgroud)
做一个直接的if START < NOW < END场景不适用于此!
我目前所拥有的是一些代码,用于评估当前是否为"NightTime",如下所示:
def check_time(timenow, onhour, onmin, offhour, offmin, verbose):
now = datetime.datetime.now()
now_time = now.time()
# If we're actually scheduling at night:
if int(offhour) < int(onhour):
# Check to see if we're in daylight times (ie. off schedule)
if datetime.time(int(offhour),int(offmin)) <= now_time <= datetime.time(int(onhour),int(onmin)):
if verbose == True:
print("Day Time detected.")
return False
else:
if verbose == True:
print("Night Time detected.") …Run Code Online (Sandbox Code Playgroud)