やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

GitHubリポジトリ情報にTimezoneが付与されていなかった問題

TimeZoneをAsia/Tokyoに指定しているにも関わらず。

問題

リポジトリ作成などの時刻がすべてUTCになっていた。UTC+09:00(日本時間)を期待していたのに。

確認

こちらによると、HTTPヘッダにタイムゾーン情報を付与すれば、タイムスタンプに反映されるとある。

curl -H "Time-Zone: Asia/Tokyo"

上記のようにタイムゾーン情報を指定してリポジトリ生成APIを叩いていたが、リポジトリ取得APIの結果、create_atなどのタイムスタンプがUTC(yyyy-MM-ddTHH:mm:ssZ)になっていた。Asia/Tokyoなら、yyyy-MM-ddTHH:mm:ssZ+09:00になると思っていたのに。

こちらには、タイムゾーン情報がないとUTC時刻になるとある。おそらく、HTTPヘッダに付与したタイムゾーン情報が無視されたと思われる。原因不明。タイムゾーンの指定方法がどこか間違っているのか。リポジトリAPIは一律UTCになるものなのか。

懸念

単に私のやり方が間違えているだけなら、それでいい。このままUTC時刻で作成しつづけてもかまわない。

ただ、正しいタイムゾーン指定なのに、リポジトリAPIは一律UTCになるというGitHub側の仕様だった場合、今後、途中で変更されてタイムゾーン指定が有効にならないか心配。UTC時刻のリポジトリと、UTC+09:00のリポジトリができてしまう。

おそらく私が間違えているか勘違いしているのだと思うから、心配する必要はないと思う。いずれ原因をはっきりさせたい。

所感

もしGitHubで扱う時刻がすべてUTCになるなら、それはそれでいい。

ただ、API発行時刻(CheckedAt)をローカル時刻で記録しているため、それをUTCで記録するようにしたい。