<< home

datetimeモジュールの基本

Pythonのdatetimeモジュールを使うと、日付や時間を扱うことができます。本章では、datetimeモジュールの基本的な使い方を解説します。

1. datetimeオブジェクトの作成

Pythonで日付と時間を扱うには、datetimeモジュールのdatetimeクラスを使用します。

from datetime import datetime # 現在の日時を取得 now = datetime.now() print(now) # 例: 2025-03-03 12:34:56.789012 # 指定した日時のオブジェクトを作成 dt = datetime(2025, 3, 3, 12, 0, 0) print(dt) # 2025-03-03 12:00:00

2. 日付・時間の加算と減算

timedeltaクラスを使うと、日時の加算や減算ができます。

from datetime import timedelta # 1日加算 tomorrow = now + timedelta(days=1) print(tomorrow) # 翌日の日付 # 1時間減算 one_hour_ago = now - timedelta(hours=1) print(one_hour_ago) # 1時間前の時刻

3. タイムゾーンの扱い

Pythonのdatetimeオブジェクトはデフォルトでは「タイムゾーンなし(naive)」です。pytzモジュールを使うと、タイムゾーンを扱うことができます。

import pytz # UTCの現在時刻を取得 utc_now = datetime.now(pytz.utc) print(utc_now) # 日本時間(JST)に変換 jst = pytz.timezone('Asia/Tokyo') jst_now = utc_now.astimezone(jst) print(jst_now) # UTC+9時間

4. datetimeオブジェクトと文字列の相互変換

4.1 datetimeから文字列へ変換

strftimeメソッドを使うと、datetimeオブジェクトを文字列に変換できます。

# 指定フォーマットの文字列に変換 date_str = now.strftime('%Y-%m-%d %H:%M:%S') print(date_str) # 例: 2025-03-03 12:34:56

4.2 文字列からdatetimeオブジェクトへ変換

strptimeメソッドを使うと、文字列をdatetimeオブジェクトに変換できます。

# 文字列をdatetimeオブジェクトに変換 dt_from_str = datetime.strptime('2025-03-03 12:00:00', '%Y-%m-%d %H:%M:%S') print(dt_from_str) # 2025-03-03 12:00:00

5. まとめ

このように、datetimeモジュールを使えば、Pythonで簡単に日付や時間を操作できます。



<< home