一、时间格式如下
- start_time:
"14:00"
- end_time:
"23:00"
二、目的:周期性判断,然后进行相关业务处理
三、下面是两种实现方式(满足跨天时间)
1、通过转换日期时间格式进行判断
import datetime
def judge_time_range(start_time, end_time):
now_data = datetime.datetime.now().date()
start_datetime = datetime.datetime.strptime(str(now_data) + start_time, '%Y-%m-%d%H:%M')
if start_time > end_time:
now_data = now_data + datetime.timedelta(days=1)
end_datetime = datetime.datetime.strptime(str(now_data) + end_time, '%Y-%m-%d%H:%M')
if datetime.datetime.now().strftime('%H:%M') < start_time:
current_datetime = datetime.datetime.now() + datetime.timedelta(days=1)
else:
current_datetime = datetime.datetime.now()
if end_datetime > current_datetime > start_datetime:
return True
return False
2、通过字符串直接比较
from datetime import datetime
week = datetime.now().isoweekday()
def judge_time_range(start_time, end_time):
current_time = datetime.now().strftime('%H:%M')
if start_time > end_time:
return start_time <= current_time <= "24:00" or "00:00" <= current_time <= end_time
else:
return end_time > current_time > start_time