Pythonのdatetimeモジュールは、日時を扱うための標準ライブラリです。本記事では、datetimeモジュールを使ってISO形式やtzを含む文字列、さらにはミリ秒単位の文字列を作る方法を紹介します。
Pythonのdatetimeモジュールとは
datetimeモジュールは、日時を扱うためのモジュールです。date, time, datetime, timedeltaなどのクラスを提供しています。今回はdatetimeクラスを使用します。
ISO形式とは
ISO形式とは、標準的な書式で日付を表す書式もあります。例えば、2022年1月1日12時34分56秒を表すときには、次のようになります。
2022-01-01T12:34:56
この書式は、世界中で広く使われています。
tz(タイムゾーン)の扱い方
タイムゾーンとは、日時の表現において、地球上のどの地域の時刻を使うかを決めるものです。Pythonでは、pytzというライブラリを使ってタイムゾーンを扱います。pytzは、世界中のタイムゾーンを定義しており、タイムゾーンを指定することで、任意の地域の時刻を表すことができます。
DatetimeからISO形式の文字列を作る方法
datetimeクラスのstrftimeメソッドを使うことで、ISO形式の文字列を作ることができます。
import datetime now = datetime.datetime.now() iso_string = now.strftime('%Y-%m-%dT%H:%M:%S') print(iso_string)
実行結果:
2022-01-01T12:34:56
Datetimeからtzを含む文字列を作る方法
tzを含む文字列を作るには、pytzを使ってタイムゾーンを指定します。
import datetime import pytz now = datetime.datetime.now(tz=pytz.timezone('Asia/Tokyo')) tz_string = now.strftime('%Y-%m-%dT%H:%M:%S%z') print(tz_string)
実行結果:
2022-01-01T12:34:56+0900
タイムゾーンを指定する際には、pytz.timezoneメソッドに地域名を渡すことで、任意のタイムゾーンを指定することができます。
Datetimeからミリ秒単位の文字列を作る方法
ミリ秒単位の文字列を作るには、strftimeメソッドに%fを指定します。
import datetime now = datetime.datetime.now() ms_string = now.strftime('%Y-%m-%dT%H:%M:%S.%f') print(ms_string)
実行結果:
2022-01-01T12:34:56.123456
まとめ
Pythonのdatetimeモジュールを使って、ISO形式やtz、ミリ秒単位の文字列を作る方法を紹介しました。これらの機能を使うことで、日時を柔軟に扱うことができます。