2

为了在 Rails 应用程序的数据库中存储用户的时区,存储数字偏移量(即 -8)或名称(太平洋时间(美国和加拿大))会更好吗?

存储名称可以让应用程序更好地处理 DST,但是如果将来 Rails 更新并且时区名称不同怎么办?

4

1 回答 1

0

您应该使用时区名称。不要担心时区名称会改变。他们不会改变。您维护时区数据库的人似乎坚定地承诺要保留向后兼容的名称(如果他们这样做的话)。例如,America/New_York沿途添加了新名称 like,但“旧”名称 likeUS/Eastern仍然有效。此外,时区定义支持不同时间规则不同的时区,因此即使一个时区的规则更新,过去日期的本地时间应该保持不变(除非更改规则以更正定义)。

存储数字偏移量与存储特定时间戳相结合是合适的,因为它允许与 UTC 进行简单且明确的转换,并且同一时区中不同日期的偏移量值无关紧要。

于 2013-01-09T16:49:58.873 回答