Python 中比較兩個日期

Syed Moiz Haider 2023年10月10日
  1. Python 中使用 datetime 模組和 </> 運算子比較兩個日期
  2. Python 中使用 datetime.date() 方法比較兩個日期
  3. Python 中使用 time 模組比較兩個日期
  4. Python 中使用 datetime 模組比較兩個日期
Python 中比較兩個日期

本教程解釋瞭如何在 Python 中比較兩個日期。它有多種方法來確定哪個日期更大,所以教程還列出了不同的示例程式碼來闡述不同的方法。

Python 中使用 datetime 模組和 </> 運算子比較兩個日期

datetime 和簡單的比較運算子 <> 可用於比較兩個日期。datetime 模組提供了 timedelta 方法來操作日期和時間。timedelta() 方法接收天數作為輸入,並可以對其進行運算。

下面給出一個示例程式碼。

from datetime import datetime, timedelta

previous_date = datetime.now() - timedelta(days=1)
current_date = datetime.now()
print(present > past)

輸出:

True

Python 中使用 datetime.date() 方法比較兩個日期

datetime.date() 也可用於比較兩個日期。datetime.date() 方法使用年、月、日作為輸入。建立兩個要比較的日期,並使用一個簡單的比較運算子來比較兩個日期。

下面給出一個示例程式碼。

import datetime

first_date = datetime.date(2020, 12, 16)
second_date = datetime.date(2015, 12, 16)

result = first_date < second_date
print(result)

輸出:

False

Python 中使用 time 模組比較兩個日期

time 模組提供了 strptime 方法來操作日期。它將字串格式的日期作為輸入,並將其轉換為 Python 的日期格式。之後,可以進行簡單的比較來比較兩個日期。

下面是一個例子程式碼。

import time

first_date = "30/11/2020"
second_date = "12/10/2019"

formatted_date1 = time.strptime(first_date, "%d/%m/%Y")
formatted_date2 = time.strptime(second_date, "%d/%m/%Y")
print(formatted_date1 > formatted_date2)

輸出:

True

Python 中使用 datetime 模組比較兩個日期

datetime 模組提供了 datetime() 方法,該方法需要三個引數,從年、月、日建立一個日期。得到日期後,可以使用比較運算子對它們進行比較。

下面給出一個示例程式碼。

import datetime

# date in yy/mm/dd format
first_date = datetime.datetime(2020, 5, 11)
second_date = datetime.datetime(2020, 6, 10)

print("first date is greater than second_date: ", first_date > second_date)
print("first date is smaller than second_date: ", first_date < second_date)
print("first date is not equal to second_date: ", first_date != second_date)

輸出:

first date is greater than second_date:  False
first date is smaller than second_date:  True
first date is not equal to second_date:  True
Syed Moiz Haider avatar Syed Moiz Haider avatar

Syed Moiz is an experienced and versatile technical content creator. He is a computer scientist by profession. Having a sound grip on technical areas of programming languages, he is actively contributing to solving programming problems and training fledglings.

LinkedIn