Pythonのdatetime
モジュールは日付と時間を扱うためのもので、その中にはタイムゾーンを扱うための機能も含まれています。この記事では、Pythonで現在の日時を取得し、それを特定のタイムゾーンに変換する方法について説明します。
datetimeとタイムゾーン
Pythonのdatetime
モジュールは、日付と時間を扱うためのクラスを提供しています。その中には、date
、time
、datetime
、timedelta
といったクラスがあります。
datetime
オブジェクトは、日付と時間を一緒に扱うことができます。また、datetime
オブジェクトは「Naive」または「Aware」の2種類に分類されます。
- Naive: タイムゾーン情報を持たないオブジェクト
- Aware: タイムゾーン情報(
tzinfo
属性)を持つオブジェクト
タイムゾーンを意識した処理を行いたい場合は、Aware
オブジェクトを使用します。
現在の日時を取得する
Pythonで現在の日時を取得するには、datetime
モジュールのnow
関数を使用します。ただし、この関数はデフォルトではシステムのローカルタイムゾーンを使用します。
UTC(協定世界時)で現在の日時を取得するには、timezone.utc
を引数としてnow
関数に渡します。
from datetime import datetime, timezone
# UTCの現在時刻を取得
utc_dt = datetime.now(timezone.utc)
タイムゾーンを変換する
astimezone
メソッドを使用すると、datetime
オブジェクトを指定したタイムゾーンに変換することができます。
# ローカルタイムゾーンの現在時刻を取得
local_dt = utc_dt.astimezone()
以上がPythonのdatetime
モジュールを使用してタイムゾーンを扱う基本的な方法です。これらの知識を活用して、Pythonプログラムで日付と時間を効果的に扱うことができます。