所以我希望将上午 7:00 作为开始时间,例如晚上 10:00 作为结束时间,然后比较一组时间(也是上午 8:00 的形式) , 3:00 PM 等)来查看这些时间是否在时间范围内。有没有一种好的方法可以创建一个具有一定时间范围的“一天”(结束时间可以晚到凌晨 4:00,所以我想我会从早上 6:00 到凌晨 5:59 而不是午夜- 晚上 11:59,如果可能的话)我可以检查时间吗?
例如:starttime = 8:00 AM, endtime = 3:00 AM,检查 time = 7:00 AM 会返回时间范围。
谢谢!
请您参考如下方法:
使用datetime解析和比较能力:
from datetime import datetime, timedelta
def parse_time(s):
''' Parse 12-hours format '''
return datetime.strptime(s, '%I:%M %p')
starttime = parse_time('8:00 AM')
endtime = parse_time('3:00 AM')
if endtime < starttime:
# add 1 day to the end so that it's after start
endtime += timedelta(days=1)
checked_time = parse_time('7:00 AM')
# Can compare:
print starttime <= checked_time < endtime
