Python - Working out if time now is between two times

后端 未结 3 1747
时光说笑
时光说笑 2020-12-10 07:43

I\'m trying to find the cleanest/most pythonic way of evaluating if \"now\" is between two times; However; the Start/End times may, or may not, fall across a day boundary- f

3条回答
  •  情书的邮戳
    2020-12-10 07:51

    To find out whether a given time (no date) is in between given start, end times (the end is not included):

    def in_between(now, start, end):
        if start <= end:
            return start <= now < end
        else: # over midnight e.g., 23:30-04:15
            return start <= now or now < end
    

    Example:

    from datetime import datetime, time
    
    print("night" if in_between(datetime.now().time(), time(23), time(4)) else "day")
    

提交回复
热议问题