2

Railsアプリのデータベースにユーザーのタイムゾーンを保存するには、数値オフセット(つまり、-8)または名前(太平洋標準時(米国およびカナダ))を保存する方がよいでしょうか?

名前を保存すると、アプリケーションでDSTをより適切に処理できるようになりますが、将来、Railsが更新され、タイムゾーンの名前が異なる場合はどうなりますか?

4

1 に答える 1

0

タイムゾーン名を使用する必要があります。タイムゾーン名が変更されることを心配する必要はありません。それらは変わりません。下位互換性のある名前を保持するためにタイムゾーンデータベースを維持している人々からの強いコミットメントがあるようです。たとえば、のような新しい名前America/New_Yorkが途中で追加されましたが、のような「古い」名前はUS/Eastern引き続き機能します。さらに、タイムゾーン定義は、ルールが異なる時間に異なるタイムゾーンをサポートしているため、1つのタイムゾーンのルールが更新されても、過去の日付の現地時間は変更されないままである必要があります(ルールが変更されて、意味)。

数値オフセットの保存は、特定のタイムスタンプの保存と併せて適切です。これにより、UTCとの間の変換が簡単かつ明確になり、同じタイムゾーンの異なる日付でのオフセットの値は無関係になります。

于 2013-01-09T16:49:58.873 に答える