https://blog.csdn.net/feiyang5260/article/details/87821901
方法1,使用datetime值比较(一般不如2好)
import datetime # 范围时间 d_time1 = datetime.datetime.strptime(str(datetime.datetime.now().date())+'8:30', '%Y-%m-%d%H:%M') d_time2 = datetime.datetime.strptime(str(datetime.datetime.now().date())+'18:33', '%Y-%m-%d%H:%M') # 当前时间 n_time = datetime.datetime.now() print('当前时间: '+str(n_time)) # 判断当前时间是否在范围时间内 if n_time > d_time1 and n_time<d_time2: print("在此区间中") else: print("不在此区间")
结果如下:
方法2,时间字符串直接比大小(最好用)
如果是 7:00 一定要写成 07:00
import datetime t1 = '15:40' t2 = '18:17' now = datetime.datetime.now().strftime("%H:%M") print("当前时间:" + now) if t1 < now < t2: print("在此区间中") else: print('不在此区间中')
结果如下:
方法3,直接将当前时间格式化成字符串然后转换成整数进行比较。(不方便舍弃)
import time now = time.strftime("%H%M%S") print("当前时间:" + now) #时间区间[09:35:10,18:01:01] if(180101 > int(time.strftime("%H%M%S")) > 93510): print('在此区间中')
结果如下:当前时间15:51:27
、
示例
从txt读取指定时间段,判断是否在里面
#!/usr/bin/python # -*- coding: UTF-8 -*- import datetime #时间 time_begin="8:00" time_over ="22:00" #函数名 读取txt中指定参数内容 #函数输入 # path_txt txt文件地址 # canshu 要从txt读取的内容 # fengefu 参数名字和值的分隔符号 默认 - #函数输出 # 返回字符型结果 def readtxt(path_txt,canshu): #/home/pi/Desktop/info fengefu="-" f = open(path_txt, mode='r+', encoding='utf-8') # 打开txt文件,以‘utf-8’编码读取 lines = f.readlines() # 以行的形式进行读取文件 for line in lines: a=line.strip().split(fengefu) # x.strip()#除去每行的换行符 按照:分割 b = a[0:1] # list--str c = "".join(b).strip() # 去除空格 if c==canshu: b = a[1:2] # 这是选取需要读取的位数 c="".join(b).strip() # 去除空格 #print(c) return c f.close() def main(): #读取开始时间 字符型 数字需要转化 int() time_begin=readtxt("/home/pi/Work/WorkPlace/python/2waibao/2face_lab/info","time_begin") print(time_begin) #读取结束时间 time_over=readtxt("/home/pi/Work/WorkPlace/python/2waibao/2face_lab/info","time_over") print(time_over) #获取当前和时间 now = datetime.datetime.now().strftime("%H:%M") print("当前时间:" + now) #比较是否在时间段内 if time_begin < now < time_over: print("在此区间中") else: print("不在此区间中") main()