ruby-on-rails-3 - Rails 时区错误?

标签 ruby-on-rails-3 heroku timezone

我对时区“圣地亚哥”有疑问。智利从 9 月 1 日起改为夏令时 (GMT -3)。

Time.now.in_time_zone("Santiago") => Tue, 04 Sep 2012 10:57:43 CLT -04:00 <<-- wrong, should be 11:57:43 CLT -03:00

有什么想法吗?

谢谢。

最佳答案

时区数据由 tzdata gem 提供。 Rails 需要相当最新的版本(Rails 3.2.8 的 iirc 至少为 0.3.31),但由于时区定义的生命周期相当短,有时您需要手动更新它们。就您而言,您至少需要 0.3.32,其中包括智利 DST 的更改。在撰写本答案时,tzdata 的当前版本是 0.3.33。

要强制使用更新版本的 tzdata,只需将其添加到您的 Gemfile 中:

gem 'tzdata', '~> 0.3.33'

关于ruby-on-rails-3 - Rails 时区错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12266489/

相关文章:

javascript - 如何从 moment.tz 对象中获取唯一的时区名称?

ruby-on-rails - Ruby on Rails form_for 引用类 ID 并传递给子评论

ruby-on-rails - 防止修改 ("hacking") 隐藏字段在 rails3 中的形式?

ruby-on-rails-3 - Heroku pgbackups : Syntax errors on localhost restore

php - 在 Heroku Laravel 实例上设置 HTTPS 重定向

c - 为什么 glibc "timezone"global 与夏令时的系统时间不一致?

ruby-on-rails - STI,一个 Controller

ruby-on-rails - 如何在 Rails 3 中启用内存和对象分析?

ruby-on-rails - Heroku SSL 有时有效,有时无效

r - R不再接受GMT +和/GMT-n格式的时区