zoukankan      html  css  js  c++  java
  • 48 python判断时间是否落在两个时区之间(只比较时刻不比较日期)

    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()
    

      

  • 相关阅读:
    vagrant+virtualbox 构建mac虚拟机环境
    python dns模块
    Ansible模块开发-自定义模块
    nginx rewrite 踩坑
    死磕nginx系列--nginx 目录
    死磕salt系列-salt文章目录汇总
    ant jmeter jenkins 实现自动化测试
    prometheus-入门尝试
    redis-Sentinel配置
    devops工具-Ansible进阶playbook&roles
  • 原文地址:https://www.cnblogs.com/kekeoutlook/p/12151273.html
Copyright © 2011-2022 走看看