如何比较 Python 日期?


在这篇文章中,我们将了解如何比较 Python 日期。有多种方法可以确定哪个日期更大或更小,我们将详细探讨这些方法。

使用 timedelta() 方法和运算符

在这种方法中,我们使用 datetime 模块和运算符来比较两个日期。为了更改日期和时间,datetime 模块提供了 timedelta() 方法。timedelta() 方法将天数作为输入并返回日期。此方法用于执行算术运算。

语法

以下是 Python 中 datetime 模块中 timedelta() 方法的语法。

datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)

示例

在下面的示例代码中,我们使用 Python 中的 timedelta() 方法比较两个日期。

from datetime import datetime, timedelta date_before_2days = datetime.now() - timedelta(days=2) current_date = datetime.now() print(current_date > date_before_2days)

输出

以上代码的输出如下所示。

True

使用 datetime.date() 方法

在这里,我们使用 datetime.date() 方法来比较两个日期。我们导入 datetime 模块来处理日期作为日期对象。datetime.date() 方法将年、月和日作为输入,并返回日期。

语法

以下是 datetime.date() 方法的语法。

datetime.date(year, month, day)

示例

在下面的示例代码中,我们使用 Python 中的 datetime.date() 方法比较两个日期。

import datetime date1 = datetime.date(2018, 6, 9) date2 = datetime.date(2018, 1, 23 ) print("date1 is greater than date2 : ", date1 > date2) print("date1 is less than date2 : ", date1 < date2) print("date1 is not equal to date2 : ", date1 != date2)

输出

以上代码的输出如下所示。

date1 is greater than date2 :  True
date1 is less than date2 :  False
date1 is not equal to date2 :  True

使用 time 模块中的 strptime() 方法

在这种方法中,我们使用 time 模块中的 strptime() 方法来比较两个日期。strptime() 方法将日期作为输入并将其转换为日期对象。

语法

strptime() 方法的语法如下所示。

datetime.strptime(time_data, format_data)

其中:

  • ime_date − 它是以字符串格式存在的日期。

  • format_date − 它是使用此函数从 time_data 转换的 datetime 格式的数据。

示例

这里我们使用 strptime() 方法来比较 Python 中的两个日期。

import time date1 = "23/01/2020" date2 = "28/02/2019" format_date1 = time.strptime(date1, "%d/%m/%Y") format_date2 = time.strptime(date2, "%d/%m/%Y") print(format_date1 > format_date2)

输出

以上程序生成的输出如下所示。

True

使用 datetime 模块中的 datetime() 方法

在这种方法中,我们使用 datetime() 方法来比较两个日期。datetime 模块提供了 datetime() 方法,可以通过传入三个参数(日、月、年)来创建一个日期对象。

语法

datetime() 方法的语法如下所示。

datetime.datetime(year,month,day)

示例

在下面的示例代码中,我们使用 Python 中的 datetime.datetime() 方法比较两个日期。

import datetime date1 = datetime.datetime(2018, 6, 9) date2 = datetime.datetime(2018, 1, 23 ) print("date1 is greater than date2 : ", date1 > date2) print("date1 is less than date2 : ", date1 < date2) print("date1 is not equal to date2 : ", date1 != date2)

输出

以上程序生成的输出如下所示。

date1 is greater than date2 :  True
date1 is less than date2 :  False
date1 is not equal to date2 :  True

更新于:2022年9月5日

1K+ 浏览量

启动你的职业生涯

完成课程后获得认证

开始学习
广告