Rails ActiveRecord不将时间转换为UTC,但将未转换的时间保存为UTC

时间:2012-01-04 13:12:13

标签: ruby-on-rails activerecord timezone

我正在使用Rails 2.3.3和Postgresql。

在我的应用环境.rb文件中,我设置了config.time_zone = 'UTC',在我的before_filter中设置了Time.zone = current_user.time_zone

我面临的问题是保存的时间是在用户time_zone中,但在数据库中保存为UTC。

例如,如果我选择12:00 amST(即+530 IST),它将被存储为UTC时间上午12:00。然而,在本地,配置似乎按预期工作,并且在获取数据时,时间被转换为用户time_zone,因此它获得530小时。

希望得到一些帮助。

由于

1 个答案:

答案 0 :(得分:4)

您是否将时间或日期时间用作对象的数据库列类型?

This recent (and very similar) question to yours可以通过在时间到日期之间更改类型来解决。