如何比较 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