見出し画像

Bitflyerのtimestampについて

約定時間の表記がISO8061表記の・・・。
こんな形!
2021-04-03T13:37:52.1470997Z
2021-04-03T13:37:52.1470997Z
あ゛あ゛ーーーん゛?
https://ja.wikipedia.org/wiki/ISO_8601

真っ先に思い付いたのが、
「規格ってことは固まってるから、replaceで行けるやろ。
(botterさんの多くはシリアル値らしいけど。)

・・・。

え?pandasでコンバートできんの??

やってみた。
※このノート末まとめにコードのみを記載がありますので、
STEPごとの検証、文章だるい人はそこに飛んでね~。

import pandas as pd

ISO_8601_date = '2021-04-03T13:37:52.1470997Z'
type(ISO_8601_date)

# <class 'str'>

strね。
pd.to_datetime(ISO_8601_date)で変えます。

class_datetime_ISO_8601_date = pd.to_datetime(ISO_8601_date)
print(type(class_datetime_ISO_8601_date))

# <class 'pandas._libs.tslibs.timestamps.Timestamp'>

timestampですって!奥様!strぶち込んだら変わりましたよ!

print(class_datetime_ISO_8601_date)

# 2021-04-03 13:37:52.147099700+00:00

2021-04-03 13:37:52.147099700+00:00 見慣れたやつですねぇ~。
いいですねぇ~。
ん?+00:00?JST?

print(class_datetime_ISO_8601_date.tz)

# UTC

あ゛あ゛ーーーん゛?

UTC+0900やろがい!

utc_plus_9h__ISO_8601_date = class_datetime_ISO_8601_date.tz_convert('Asia/Tokyo')
print(utc_plus_9h__ISO_8601_date)

# 2021-04-03 22:37:52.147099700+09:00

にっこり

■まとめ

import pandas as pd

ISO_8601_date = '2021-04-03T13:37:52.1470997Z'
type(ISO_8601_date)

class_datetime_ISO_8601_date = pd.to_datetime(ISO_8601_date)
print(type(class_datetime_ISO_8601_date))
print(class_datetime_ISO_8601_date)

print(class_datetime_ISO_8601_date.tz)

utc_plus_9h__ISO_8601_date = class_datetime_ISO_8601_date.tz_convert('Asia/Tokyo')
print(utc_plus_9h__ISO_8601_date)

サポートしていただけるんですか!?