更改默认时区

config.active_record.default_timezone 确定从数据库中提取日期和时间时是否使用 Time.local(如果设置为:local)或 Time.utc(如果设置为:utc)。默认值为:utc。 http://guides.rubyonrails.org/configuring.html

如果要更改 Rails 时区,但继续在 UTC 中保存数据库中的 Active Record ,请使用 ****

# application.rb
config.time_zone = 'Eastern Time (US & Canada)'

如果你想改变 Rails 的时区活动记录储存时间在该时区,使用

# application.rb
config.time_zone = 'Eastern Time (US & Canada)'
config.active_record.default_timezone = :local

警告 :在以非 UTC 格式在数据库中保存时间之前,你真的应该三思而后,甚至三次。

注意
修改 application.rb 后,不要忘记重新启动 Rails 服务器。

请记住,config.active_record.default_timezone 只能采用两个值

  • :local (转换为 config.time_zone 中定义的时区)
  • :utc (转换为 UTC)

以下是你可以找到所有可用时区的方法

rake time:zones:all