python 中判断当前时间是否在某个时间段内

python 中,有时候因为业务需要,需判断当前时间是否在某个时间段。比如,某些紧急的监控告警,在工作时间有人专门盯盘,而在下班时间,则需要提高告警级别,给值班人员或更高级别人员告警。

以下是python代码实现

import datetime

# 判断当前时间是否在(starTime~endTime)时间范围内
def isDuringThatTime(startTime, endTime):
    start_time = datetime.datetime.strptime(str(datetime.datetime.now().date()) + startTime, '%Y-%m-%d%H:%M')
    end_time = datetime.datetime.strptime(str(datetime.datetime.now().date()) + endTime, '%Y-%m-%d%H:%M')
    now_time = datetime.datetime.now()
    if start_time < now_time < end_time:
        return True
    return False


#使用
if __name__ ==  '__main__':
  if(isDuringThatTime("9:00","18:00")):
    pass # 业务处理代码

其中,datetime.strptime()是将字符串转换成datetime对象,用于比较。

该方法一般会结合着本周是否是工作日使用,如何判断当天是否是工作日,参考:https://www.jianshu.com/p/037940d0740f

你可能感兴趣的:(python 中判断当前时间是否在某个时间段内)