Python程序检查日期是否在日期范围内
在本文中,我们将学习如何检查给定的输入日期是否在指定的日期范围内。有很多方法可以做到这一点;其中一些方法将在下文中详细解释。
使用datetime模块
Datetime模块提供用于操作日期和时间的类。此模块提供各种函数和方法,例如date、time、datetime、timedelta、minyear、maxyear、UTC等。
在本文中,我们将使用datetime模块的datetime()函数。datetime()接受日期、月份和年份作为输入参数,并返回日期作为输出。
示例
在这个例子中,我们将使用datetime模块的datetime()函数来检查日期25-05-2023是否在1991-01-01和2023-12-31的日期范围内。
from datetime import datetime def is_date_in_range(date, start_date, end_date): return start_date <= date <= end_date date = datetime(2023, 5, 25) start_date = datetime(1991, 1, 1) end_date = datetime(2023, 12, 31) if is_date_in_range(date, start_date, end_date): print("Date is within the range.") else: print("Date is outside the range.")
输出
Date is within the range.
使用date()函数
在datetime模块中,我们还有另一个函数date(),它接受日期、月份和年份作为输入参数,构建日期并将其作为输出返回。
示例
在这个例子中,我们创建了一个名为is_date_in_range()的函数,并将输入日期、开始日期和结束日期作为输入参数,以及检查日期是否在给定范围内条件。日期使用datetime模块的date()函数给出。
from datetime import date def is_date_in_range(input_date, start_date, end_date): return start_date <= input_date <= end_date input_date = date(2023, 5, 10) start_date = date(2023, 1, 1) end_date = date(2023, 12, 31) if is_date_in_range(input_date, start_date, end_date): print(input_date,"is within the range.") else: print(input_date,"is outside the range.")
输出
2023-05-10 is within the range.
使用字符串比较
字符串是一种数据结构,它将数据保存在单引号或双引号中。字符串使用str()函数定义,将任何数据类型元素作为输入,并返回字符串作为输出。
在这里,要检查给定日期是否在给定的日期范围内,我们将比较以字符串格式定义的日期。
示例
在这个例子中,我们将日期定义为字符串格式,然后将输入字符串与定义的日期范围内的日期进行比较。
假设给定的输入日期为25-05-2023,日期范围定义为1995-01-01和2020-09-12。以下是代码。
def is_date_in_range(date, start_date, end_date): return start_date <= date <= end_date date = "2023-05-25" start_date = "1995-01-01" end_date = "2023-12-09" if is_date_in_range(date, start_date, end_date): print(date,"is within the range.") else: print(date,"is outside the range.")
输出
2023-05-25 is within the range.
广告