下面是“Python 判断时间是否在时间区间内的实例”的完整攻略。
思路分析
判断一个时间点是否在时间区间内,需要用到 Python 的 datetime
模块。具体的思路是,将时间区间拆分成起始时间和截止时间,并将要判断的时间点转化为 datetime
对象,然后比较两个对象之间的大小关系即可。
代码实现
首先,我们需要引入 datetime
模块。
from datetime import datetime
接下来,我们编写一个 is_between
函数,来判断一个时间点是否在时间区间内。
def is_between(time_str, start_time_str, end_time_str):
"""
判断时间点 time_str 是否在时间区间 [start_time_str, end_time_str] 内
:param time_str: 待判断的时间点,格式为字符串,例如 '2021-12-31 23:59:59'
:param start_time_str: 时间区间的起始时间,格式为字符串,例如 '2021-01-01 00:00:00'
:param end_time_str: 时间区间的截止时间,格式为字符串,例如 '2022-01-01 00:00:00'
:return: 如果 time_str 在时间区间内,返回 True,否则返回 False
"""
# 将字符串转化为 datetime 对象
time = datetime.strptime(time_str, '%Y-%m-%d %H:%M:%S')
start_time = datetime.strptime(start_time_str, '%Y-%m-%d %H:%M:%S')
end_time = datetime.strptime(end_time_str, '%Y-%m-%d %H:%M:%S')
# 判断是否在时间区间内
if start_time <= time <= end_time:
return True
else:
return False
这个函数接收三个字符串类型的参数,分别是要判断的时间点、时间区间的起始时间和截止时间。函数内部将这些字符串转化为 datetime
对象,并进行比较。如果时间点在时间区间内,返回 True
,否则返回 False
。
下面是两个示例,来说明如何使用上述函数判断时间点是否在时间区间内。
示例一
在此示例中,我们将判断时间点 '2021-06-20 12:34:56' 是否在时间区间 ['2021-06-20 00:00:00', '2021-06-21 00:00:00'] 内。
# 时间点
time_str = '2021-06-20 12:34:56'
# 时间区间
start_time_str = '2021-06-20 00:00:00'
end_time_str = '2021-06-21 00:00:00'
# 判断是否在时间区间内
if is_between(time_str, start_time_str, end_time_str):
print('时间点在时间区间内')
else:
print('时间点不在时间区间内')
运行结果如下:
时间点在时间区间内
示例二
在此示例中,我们将判断时间点 '2021-06-22 12:34:56' 是否在时间区间 ['2021-06-20 00:00:00', '2021-06-21 00:00:00'] 内。
# 时间点
time_str = '2021-06-22 12:34:56'
# 时间区间
start_time_str = '2021-06-20 00:00:00'
end_time_str = '2021-06-21 00:00:00'
# 判断是否在时间区间内
if is_between(time_str, start_time_str, end_time_str):
print('时间点在时间区间内')
else:
print('时间点不在时间区间内')
运行结果如下:
时间点不在时间区间内
总结
通过上述示例,我们可以看出,使用 Python 判断时间是否在时间区间内的实现思路其实很简单。只要将时间点和时间区间转化为 datetime
对象,然后使用比较运算符进行比较,就可以判断时间是否在时间区间内了。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 判断时间是否在时间区间内的实例 - Python技术站