有两种情况:当前时间在给定时间(顺时针)或外部(想象时钟圈)之间:
#!/usr/bin/env python
from datetime import datetime
def in_between(Now, start, end):
if start < end: # e.g., "07:00-23:00"
return start <= Now < end
elif end < start: # e.g., "23:00-07:00"
return start <= Now or Now < end
else: # start == end
return True # consider it 24 hour interval
Now = datetime.Now().time()
for date_range in ["07:00-23:00", "23:00-07:00"]:
start, end = [datetime.strptime(s, "%H:%M").time()
for s in date_range.split("-")]
not_ = '' if in_between(Now, start, end) else 'not '
print("{Now:%H:%M} is {not_}in between {date_range}".format(**vars()))