首页 > 技术文章 > python 判断当前时间是否在一个时间范围内

addPath 2021-12-28 11:15 原文

参考链接:
https://www.cnblogs.com/xiao987334176/p/13535646.html
https://blog.csdn.net/qq_21570029/article/details/83185168
https://blog.csdn.net/qq_41799291/article/details/95362693
https://blog.csdn.net/p9bl5bxp/article/details/54945920

先简单介绍一下datetime模块
datetime模块提供了处理日期和时间的类,既有简单的方式,又有复杂的方式。它虽然支持日期和时间算法,但其实现的重点是为输出格式化和操作提供高效的属性提取功能
也就是说只有的<class 'datetime'>才能实现时间意义上的计算
我们在看看datetime模块下定义的类

类名称 描述
datetime.date 表示日期,常用的属性有:year, month和day
datetime.time 表示时间,常用属性有:hour, minute, second, microsecond
datetime.datetime 表示日期时间
datetime.timedelta 表示两个date、time、datetime实例之间的时间间隔,分辨率(最小单位)可达到微秒
datetime.tzinfo 时区相关信息对象的抽象基类。它们由datetime和time类使用,以提供自定义时间的而调整。
datetime.timezone Python 3.2中新增的功能,实现tzinfo抽象基类的类,表示与UTC的固定偏移量
import datetime

# 范围时间
d_time = datetime.datetime.strptime(str(datetime.datetime.now().date()) + '9:00', '%Y-%m-%d%H:%M')
d_time1 = datetime.datetime.strptime(str(datetime.datetime.now().date()) + '18:00', '%Y-%m-%d%H:%M')
# 或者这样定义一个时间范围
One_day = datetime.timedelta(seconds=86400) # 表示1天的时间
# 当前时间
n_time = datetime.datetime.now()

# 判断当前时间是否在范围时间内
if n_time > d_time and n_time < d_time1:
    print(True)
else:
    print(False)
# 判断两个时间间隔是否大于1天
if n_time-time1 >= One_day:
    print(True)
else:
    print(False)

推荐阅读