如何比較 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+ 次檢視

啟動您的職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.