Pythonのdatetime
モジュールは日付や時刻を扱うための便利なツールを提供しています。特に、ISO 8601形式の日付と時刻を扱うためのメソッドがあります。
datetimeオブジェクトの作成
まずは、タイムゾーン情報を持つdatetime
オブジェクトを作成します。以下の例では、日本標準時(JST)のタイムゾーンを持つdatetime
オブジェクトを作成しています。
import datetime
t_delta = datetime.timedelta(hours=9)
JST = datetime.timezone(t_delta, 'JST')
jst_datetime = datetime.datetime(2021, 11, 16, 12, 34, 56, tzinfo=JST)
ISO 8601形式への変換
次に、isoformat
メソッドを使って、このdatetime
オブジェクトをISO 8601形式の文字列に変換します。
jst_dt = jst_datetime.isoformat()
print(jst_dt) # 2021-11-16T12:34:56+09:00
ISO 8601形式からの変換
逆に、ISO 8601形式の文字列からdatetime
オブジェクトを生成することも可能です。これにはfromisoformat
メソッドを使用します。
mydatetime = datetime.datetime.fromisoformat(jst_dt)
print(repr(mydatetime)) # datetime.datetime(2021, 11, 16, 12, 34, tzinfo=datetime.timezone(datetime.timedelta(seconds=32400)))
以上がPythonのdatetime
モジュールを使ってISO 8601形式の日付と時刻を扱う基本的な方法です。これらのメソッドを使うことで、日付と時刻の取り扱いが一段と容易になります。