强制时间存储而无需本地化?

时间:2014-04-15 17:48:10

标签: ruby-on-rails ruby time

我们正在构建一个Rails应用程序,该应用程序需要从我无法控制的另一个应用程序创建并使用的数据库中读取数据。

另一个应用程序将所有时间信息存储在UTC时间字段中,但强制将当地时间存储在那里。

示例:

current time:        2014-04-15 11:36:54 -0600
current time in UTC: 2014-04-15 17:36:54 UTC
time stored in db:   2014-04-15 11:36:54 UTC

我的问题是Rails想要在存储时间时将本地时间转换为UTC。

有什么方法可以告诉Rails在存储它时不将我的时间改为UTC吗?

更新

所以我真正的问题是如何将当地时间存储在数据库中但我的模型中仍然使用UTC?

1 个答案:

答案 0 :(得分:0)

如果您设置

ActiveRecord::Base.default_timezone = :local

然后它应该使用本地时区(由TZ环境变量等设置)。您可以自行管理当地时区并处理因时区变化而产生的任何异常情况(例如,如果您观察夏令时)