課題
- 利用者のほとんどが日本人なので表示は日本時間に合わせたい
- DBやサーバーのタイムゾーンはUTCで入っている
考え方
DBにタイムゾーンオフセットをつけて保存すべきという考え方の人もいるが、
MySQLのdatetime型では入らない
そもそもタイムゾーンを考慮した時間というのは、表示側の都合であり、クライアント側が利用ユーザーの利用拠点に合わせて時間表示を切り替えてあげればいいのではないか?
結果
APIのレスポンス
タイムゾーンをUTCに統一
ISO8601の拡張版を利用
タイムゾーンオフセット付き
YYYY-MM-DD hh:mm:ss+mm:ss
APIのリクエスト
ISO8601の拡張版を利用
タイムゾーンオフセット付き
YYYY-MM-DD hh:mm:ss+mm:ss
DBに保存する値
タイムゾーンをUTCに統一
ISO8601
YYYY-MM-DD hh:mm:ss
参考文献