from datetime import datetime, time def is_time_between(begin_time, end_time, check_time=None): # If check time is not given, default to current UTC time check_time = check_time or datetime.now().time() if begin_time < end_time: return begin_time <= check_time <= end_time else: # crosses midnight return check_time >= begin_time or check_time <= end_time if __name__ == '__main__': print(is_time_between(time(00, 00), time(16, 30)))