Python检查时间是否在两天之间

Python check if time is in range between two days

我找到了一些很好的例子来检查,如果一个时间在一个特定的范围内,比如这一个:

1
2
3
4
now_time = datetime.datetime.now().time()  
start = datetime.time(17, 30)
end = datetime.time(4, 00)
if start <= now_time <= end:

在我的例子中,我想检查一下,当前时间是否在早上17:30到04之间。我怎么能解决这个问题?


17:30出现在4:00之后,所以任何与start <= x <= end有关的东西都将被评估为错误,因为它意味着结束(4:00)大于开始(17:30),这永远不是真的。

你必须做的是检查是17:30以后还是4:00之前:

1
2
3
4
5
6
7
8
9
import datetime

now_time = datetime.datetime.now().time()
start = datetime.time(17, 30)
end = datetime.time(4, 00)
if now_time >= start or now_time <= end:
    print('true')
else:
    print('false')