ビットフライヤーのwebsocketで流れてくる約定時間は「2018-11-09T16:36:15.8390083Z」となっており、ISO8601(RFC3339)のUTCという形式らしい?
このままだと色々とごにょごにょするのに使いづらいので、+9時間の日本時間にしてdatetime型に変えます。
「from dateutil.parser import parse」を使ったパースで分解してやる方法は簡単だけど、速度があまりよろしくないらしいので自分で文字列分解して変換します。
例として「2018-11-09T17:21:36.457464Z」を変換します。
import time from datetime import datetime, timedelta date = '2018-11-09T17:21:36.457464Z' utc_split = datetime( year=int(date[0:4]),month=int(date[5:7]),day=int(date[8:10]), hour=int(date[11:13]),minute=int(date[14:16]),second=int(date[17:19]) ) exec_date = utc_split + timedelta(hours=+9) print(exec_date)
実際にはwebsocket上で、ぶん回す感じになるかと思います。
以下のように表示されればOK
2018-11-10 02:21:36