比如我有一个字符串的时间:
2022-07-12 09:00:00
我要判断这个时刻是不是在 2022-07-10 09:00:00 至 2022-07-12 16:59:59 这个时间段内,可以利用datetime模块判断。
首先先将字符串格式的时间转化成datetime格式的时间:
str_time = '2022-07-12 09:00:00'
date_time = datetime.datetime.strptime(str_time , '%Y-%m-%d %H:%M:%S')
%Y-%m-%d%H:%M:%S 分别对应年月日时分秒,根据str字符串时间去匹配。
第二步将时间段也转化成datetime的格式:
# 开始时间
start_time = datetime.datetime.strptime('2022-07-10 09:00:00', '%Y-%m-%d %H:%M:%S')
print(start_time)
# 结束时间
end_time = datetime.datetime.strptime('2022-07-12 16:59:59', '%Y-%m-%d %H:%M:%S')
print(end_time)
第三步进行比较,如果时刻在启示时刻和结束时刻的中间,就是符合条件的:
if start_time < date_time < end_time:
print("{}属于这个时间段内".format(date_time) )
else:
print("{}不属于这个时间段内".format(date_time))
完整代码:
import datetime
str_time = '2022-07-12 09:00:00'
date_time = datetime.datetime.strptime(str_time , '%Y-%m-%d %H:%M:%S')
# 开始时间
start_time = datetime.datetime.strptime('2022-07-10 09:00:00', '%Y-%m-%d %H:%M:%S')
print(start_time)
# 结束时间
end_time = datetime.datetime.strptime('2022-07-12 16:59:59', '%Y-%m-%d %H:%M:%S')
print(end_time)
if start_time < date_time < end_time:
print("{}属于这个时间段内".format(date_time) )
else:
print("{}不属于这个时间段内".format(date_time))