もくじ
ADR 5 : 日付の保持を UTC に統一し、表示でタイムゾーンを制御する
Status :🟡 提案
Context
日付の管理を表示や保存で JST を用いている。
Decision
Laravel の推奨している UTC で保持し、表示の際に JST に変換する方式に変える。 日付の管理を内部的には UTC で行うことで、今後タイムゾーンの変更などに対応し、また各種ライブラリでの誤動作を防ぐ。
Consequences
Pros
- タイムゾーンの対応が容易になり i18n なども容易
- Laravel の推奨に従える
- 他のライブラリとの互換性が向上
Cons
- コア機能の自然言語処理が日本語前提で構成されているので i18n 対応などが来る可能性が低く、タイムゾーンを操れることのメリットが少ない
- 現状困ったことがあまりない(Laravel の cast で勝手に UTC にされて困ったくらい)
Notes
今のうちに対応しておくと将来いいかも程度。正直タイムゾーンを変更する需要はほぼ 0 なので、これを治す時間あったら他のことすべきだと思われる。 一方で将来 i18n とか考えるなら早めにすべきだと思われる。