Rails应用程序在datetime字段中存储不正确的时间

时间:2012-05-12 22:12:53

标签: ruby-on-rails

每当我创建模型时,都会创建两个日期时间字段(created_at和updated_at)。每当我创建对象的新实例时,这两个字段的时间比我当前时间提前5个小时。我在config / locales / application.rb中设置了config.time_zone ='Central Time(US& Canada)',但这没有帮助。

感谢, 麦克

1 个答案:

答案 0 :(得分:2)

按照设计,活动记录始终将UTC日期存储在数据库中。当显示给用户时,它们将转换为Time.zone指定的时区(默认为config.time_zone)。同样,如果您在其中一个表单中选择了日期/时间,则在存储到数据库之前,该时间将从Time.zone转换为UTC。

假设DST在你所在的地方生效,那么比当地时间早5个小时是UTC。