Python で 2つの日付を比較する

  1. datetime モジュールと >/< 演算子を使用して、Python で 2つの日付を比較する
  2. datetime.date() メソッドを使用して Python で 2つの日付を比較する
  3. time モジュールを使用して Python で 2つの日付を比較する
  4. datetime モジュールを使って 2つの日付を比較する

このチュートリアルでは、Python で 2つの日付を比較する方法を説明します。どちらの日付が大きいかを確認するための複数の方法があるので、チュートリアルでは異なるアプローチを詳しく説明するために異なるコードの例も示しています。

datetime モジュールと >/< 演算子を使用して、Python で 2つの日付を比較する

datetime と単純な比較演算子 <> を使って、2つの日付を比較することができます。datetime モジュールは、日付と時刻を操作するための timedelta メソッドを提供します。timedelta() メソッドは日数を入力として受け取り、それを用いて算術を行うことができます。

以下にコード例を示します。

from datetime import datetime, timedelta

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

出力:

True

datetime.date() メソッドを使用して Python で 2つの日付を比較する

また、datetime.date() を用いて 2つの日付を比較することもできます。datetime.date() メソッドは year, month, day を入力として受け取ります。比較する日付を 2つ作成し、単純な比較演算子を使って 2つの日付を比較します。

以下にコード例を示します。

import datetime

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

result = first_date < second_date
print(result)

出力:

False

time モジュールを使用して Python で 2つの日付を比較する

time モジュールは日付を操作するための strptime メソッドを提供します。これは文字列形式の日付を入力として受け取り、それを Python の日付形式に変換します。後で、単純な比較を実行して 2つの日付を比較することができます。

コード例を以下に示します。

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

datetime モジュールを使って 2つの日付を比較する

datetime モジュールは、年、月、日から日付を作成するために 3つのパラメータを受け取る 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

関連記事 - Python DateTime

  • Python で 2つの時間文字列間の時間差を計算する
  • Python で現在の年を取得する