def is_between(start_at, end_at) -> bool:
"""
判断当前时间是否在指定时间之间
例如:指定时间段为[09:00:00, 18:00:00]若当前时间是 2021年8月16日17:53:45 ,判断是否在这个时间段,返回 True
另外:若指定时间段为[22:00:00, 02:00:00]若当前时间是 2021年8月16日23:00:00 ,同样返回 True
:param start_at:
:param end_at:
:return bool:
"""
startAtStr = str(start_at).strip()
endAtStr = str(end_at).strip()
if len(startAtStr) > 0 and len(endAtStr) > 0:
startAt = time.strftime("%Y-%m-%d") + " " + startAtStr
endAt = time.strftime("%Y-%m-%d") + " " + endAtStr
startAtTime = int(time.mktime(time.strptime(startAt, '%Y-%m-%d %H:%M:%S')))
endtAtTime = int(time.mktime(time.strptime(endAt, '%Y-%m-%d %H:%M:%S')))
nowTime = int(time.time())
if startAtTime < endtAtTime:
return startAtTime <= nowTime <= endtAtTime
else:
tomorrowDate = (datetime.datetime.now() + datetime.timedelta(days=1)).strftime('%Y-%m-%d') # 明天的日期
endAt = tomorrowDate+" "+endAtStr
endtAtTime = int(time.mktime(time.strptime(endAt, '%Y-%m-%d %H:%M:%S')))
return startAtTime <= nowTime <= endtAtTime
return False