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.

更新于:2023年10月19日

2K+ 浏览量

启动你的职业生涯

通过完成课程获得认证

开始学习
广告