Python 检测一个时间字符串是否在一个时间段的范围内
from datetime import datetime, timedelta
def is_time_within_range(time_to_check, start_time, end_time):
# 确保所有时间都是datetime对象
if not isinstance(time_to_check, datetime):
time_to_check = datetime.strptime(time_to_check, '%Y-%m-%d %H:%M:%S') # 根据你的时间字符串格式调整
if not isinstance(start_time, datetime):
start_time = datetime.strptime(start_time, '%Y-%m-%d %H:%M:%S')
if not isinstance(end_time, datetime):
end_time = datetime.strptime(end_time, '%Y-%m-%d %H:%M:%S')
# 检查时间是否在范围内
return start_time <= time_to_check <= end_time
#示例
now = datetime.now()
start_time_str = '2023-07-01 10:00:00'
end_time_str = '2023-07-01 14:00:00'
# 转换字符串为datetime对象(如果已经是datetime对象,则不需要这一步)
start_time = datetime.strptime(start_time_str, '%Y-%m-%d %H:%M:%S')
end_time = datetime.strptime(end_time_str, '%Y-%m-%d %H:%M:%S')
# 检查当前时间是否在指定范围内
if is_time_within_range(now, start_time, end_time):
print("当前时间在指定范围内")
else:
print("当前时间不在指定范围内")