【Python】ulidから取り出したタイムスタンプを日本時刻に変換する
ulid-pyのインストール
Pythonでulidを扱うためにulid-pyをpipでインストールします。
$ pip install ulid-py
ulidからタイムスタンプを取得する
ulidから取り出します。タイムスタンプのタイムゾーンはUTCとなっています。
>>> import ulid
>>> u1 = ulid.new()
>>> u1.timestamp().datetime
datetime.datetime(2021, 1, 31, 14, 6, 14, 200000, tzinfo=datetime.timezone.utc)
UTC → JSTへ変換する
タイムゾーンをAsia/Tokyoへ変換します。
>>> import pytz
>>> t1.astimezone(pytz.timezone('Asia/Tokyo'))
datetime.datetime(2021, 1, 31, 23, 6, 14, 200000, tzinfo=<DstTzInfo 'Asia/Tokyo' JST+9:00:00 STD>)
datetimeの値をyyyy/MM/dd形式の文字列へ変換します。
>>> t2 = t1.astimezone(pytz.timezone('Asia/Tokyo'))
>>> t2.strftime('%Y/%m/%d')
'2021/01/31'