datetime
モジュールは、日付や時刻の操作に関する多くの機能を提供するPythonの標準ライブラリです。このモジュールを使用することで、日付や時刻の計算、フォーマット変換、比較などが簡単に行えます。以下に、datetime
モジュールの主要な機能と使用方法を紹介します。
1. datetime
モジュールのインポート
まず、datetime
モジュールを使用するには、インポートする必要があります。
import datetime
1.1. 現在の日付と時刻の取得
1.1.1. 現在の日時
now = datetime.datetime.now() print("現在の日時:", now)
1.1.2. 現在の日付
today = datetime.date.today() print("現在の日付:", today)
1.2. 日付と時刻の作成
1.2.1. 特定の日付を作成
d = datetime.date(2024, 6, 6) print("特定の日付:", d)
1.2.2. 特定の時刻を作成
t = datetime.time(14, 30, 0) print("特定の時刻:", t)
1.2.3. 特定の日時を作成
dt = datetime.datetime(2024, 6, 6, 14, 30, 0) print("特定の日時:", dt)
1.3. 日付と時刻の操作
1.3.1. 日付の加算と減算
today = datetime.date.today() tomorrow = today + datetime.timedelta(days=1) yesterday = today - datetime.timedelta(days=1) print("今日:", today) print("明日:", tomorrow) print("昨日:", yesterday)
1.3.2. 時刻の加算と減算
now = datetime.datetime.now() one_hour_later = now + datetime.timedelta(hours=1) one_hour_earlier = now - datetime.timedelta(hours=1) print("現在の時刻:", now) print("1時間後:", one_hour_later) print("1時間前:", one_hour_earlier)
1.4. 日付と時刻のフォーマット
1.4.1. 日付と時刻を文字列に変換(フォーマット)
now = datetime.datetime.now() formatted_date = now.strftime("%Y-%m-%d %H:%M:%S") print("フォーマットされた日時:", formatted_date)
使用できるフォーマットコードの例:
%Y
: 年(4桁)%m
: 月(2桁)%d
: 日(2桁)%H
: 時(24時間表記)%M
: 分(2桁)%S
: 秒(2桁)
1.4.2. 文字列を日付と時刻に変換
date_string = "2024-06-06 14:30:00" dt = datetime.datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S") print("変換された日時:", dt)
2. 日付と時刻の比較
2.1. 日付の比較
from datetime import date # 日付オブジェクトを作成 date1 = date(2024, 6, 6) date2 = date(2023, 6, 6) # 日付の比較 if date1 > date2: print(f"{date1}は{date2}より後の日付です。") elif date1 < date2: print(f"{date1}は{date2}より前の日付です。") else: print(f"{date1}は{date2}と同じ日付です。")
2.2. 時刻の比較
from datetime import time # 時刻オブジェクトを作成 time1 = time(14, 30, 0) time2 = time(12, 45, 0) # 時刻の比較 if time1 > time2: print(f"{time1}は{time2}より後の時刻です。") elif time1 < time2: print(f"{time1}は{time2}より前の時刻です。") else: print(f"{time1}は{time2}と同じ時刻です。")
2.3. 日時の比較
from datetime import datetime # 日時オブジェクトを作成 datetime1 = datetime(2024, 6, 6, 14, 30, 0) datetime2 = datetime(2023, 6, 6, 12, 45, 0) # 日時の比較 if datetime1 > datetime2: print(f"{datetime1}は{datetime2}より後の日時です。") elif datetime1 < datetime2: print(f"{datetime1}は{datetime2}より前の日時です。") else: print(f"{datetime1}は{datetime2}と同じ日時です。")
2.4. 現在の日時と指定日時の比較
now = datetime.now() specified_datetime = datetime(2024, 6, 6, 14, 30, 0) # 現在の日時と指定日時の比較 if now > specified_datetime: print(f"現在の日時{now}は指定した日時{specified_datetime}より後です。") elif now < specified_datetime: print(f"現在の日時{now}は指定した日時{specified_datetime}より前です。") else: print(f"現在の日時{now}は指定した日時{specified_datetime}と同じです。")
これらの方法を使用して、日付や時刻の比較を簡単に行うことができます。
3. datetimeモジュールのサンプルコード
以下に、datetimeモジュールの機能を活用したサンプルコードを示します。
import datetime # 現在の日時 now = datetime.datetime.now() print("現在の日時:", now) # 特定の日付と時刻の作成 birthday = datetime.date(1990, 7, 1) print("誕生日:", birthday) meeting_time = datetime.time(15, 30) print("会議の時間:", meeting_time) # 日時の操作 one_week_later = now + datetime.timedelta(weeks=1) print("1週間後の日時:", one_week_later) # フォーマットされた日時 formatted_now = now.strftime("%Y-%m-%d %H:%M:%S") print("フォーマットされた現在の日時:", formatted_now) # 文字列を日時に変換 date_string = "2024-06-06 14:30:00" converted_date = datetime.datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S") print("変換された日時:", converted_date) # 日付の比較 date1 = datetime.date(2024, 6, 6) date2 = datetime.date(2023, 6, 6) if date1 > date2: print(f"{date1}は{date2}より後の日付です。") else: print(f"{date1}は{date2}より前または同じ日付です。")
これで、datetime
モジュールの基本的な使用方法が理解できたと思います。このモジュールを活用して、日付や時刻に関する操作を効率的に行うことができます。