はじめに
pythonでdatetimeライブラリを使用するときに見かけることがあるかもしれないzoneinfo、こんかいはこれが何なのか、どのように使われるのか、使用例とともにみていく。
じゃあzoneinfoってなに?
zoneinfoはIANAのタイムゾーンデータベースをサポートした具体的なタイムゾーン実装を提供します。
(https://docs.python.org/ja/3/library/zoneinfo.html を参照)
IANAとは「Internet Assigned Numbers Authority」 の略でIPアドレスやドメイン名、の割り当てや標準化を行う組織のことです。つまりzoneinfoはIANAが管理している世界各地域の時間帯情報を収録したデータベースから時間データを持ってくることができることができるライブラリということになります。
実装例
sample.py
from datetime import datetime
from zoneinfo import ZoneInfo
dt = datetime(2020, 10, 31, 12)
print(dt)
LA_dt = dt = datetime(2020, 10, 31, 12, tzinfo=ZoneInfo("America/Los_Angeles"))
print(LA_dt)
TOKYO_dt = datetime(2020, 10, 31, 12, tzinfo=ZoneInfo("Asia/Tokyo"))
print(TOKYO_dt)
#実行結果
2020-10-31 12:00:00,
2020-10-31 12:00:00-07:00,
2020-10-31 12:00:00+09:00
実行結果から分かるようにオフセットが表示される。