Pythonのdatetimeで日付だけ取得し、日付の比較方法をマスター

Pythonのdatetimeライブラリについて

Pythonのdatetimeライブラリは、日付や時間を扱うための標準ライブラリです。datetimeオブジェクトを作成することで、日付や時間を表現できます。

datetimeライブラリで日付だけを取得する方法

datetimeライブラリで日付だけを取得するには、datetimeオブジェクトからdateオブジェクトを取得します。

import datetime
# datetimeオブジェクトを作成
dt = datetime.datetime(2021, 10, 1, 12, 30, 45)
# dateオブジェクトを取得
d = dt.date()
print(d) # 2021-10-01

datetimeオブジェクトの作成方法

datetimeオブジェクトを作成するには、datetimeモジュールのdatetime()関数を使用します。引数には、年、月、日、時、分、秒を指定します。

import datetime
# datetimeオブジェクトを作成
dt = datetime.datetime(2021, 10, 1, 12, 30, 45)
print(dt) # 2021-10-01 12:30:45

日付だけを比較するためのdatetimeオブジェクトの操作方法

datetimeオブジェクトを比較する場合、日付だけを比較することがあります。日付だけを比較するには、dateオブジェクトに変換して比較します。

import datetime
# datetimeオブジェクトを作成
dt1 = datetime.datetime(2021, 10, 1, 12, 30, 45)
dt2 = datetime.datetime(2021, 10, 2, 12, 30, 45)
# dateオブジェクトを取得
d1 = dt1.date()
d2 = dt2.date()
# 日付を比較
if d1 == d2:
    print("同じ日付です。")
elif d1 > d2:
    print("dt1の日付の方が新しいです。")
else:
    print("dt2の日付の方が新しいです。")

日付比較の実用例

日付比較は、日付の範囲を指定する場合などに使用されます。

import datetime
# datetimeオブジェクトを作成
dt = datetime.datetime(2021, 10, 1, 12, 30, 45)
# 日付範囲を指定
start_date = datetime.date(2021, 9, 1)
end_date = datetime.date(2021, 10, 31)
# 日付が指定範囲内かどうかを判定
if start_date <= dt.date() <= end_date:
    print("指定範囲内の日付です。")
else:
    print("指定範囲外の日付です。")

まとめ

Pythonのdatetimeライブラリを使うことで、日付や時間を扱うことができます。日付だけを取得する方法や、日付比較の方法をマスターし、日付を効率的に扱えるようにしましょう。