小编dal*_*ard的帖子

Python - 如果现在时间介于两次之间,则计算出来

我试图找到最干净/最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)

python schedule scheduled-tasks python-2.7 python-3.x

6
推荐指数
2
解决办法
1万
查看次数