1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

アプリケーションのタイムゾーンをどう扱うか?

Posted at

課題

  • 利用者のほとんどが日本人なので表示は日本時間に合わせたい
  • 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

参考文献

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?