如何比較 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.