如何比较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转换而来的。
示例
在这里,我们使用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