Rails时区

时间:2010-01-19 15:30:26

标签: ruby-on-rails jrubyonrails

据我所知,rails的默认行为是将数据库记录和任何日期/日期时间相关的列保存到UTC时间。我们可以使用environment.rb中的config.time_zone控制向用户显示日期/日期时间。所以基本上config.time_zone设置是控制显示,rails将记录从UTC转换为我们在config.time_zone中指定的记录。

是否有任何方法或设置强制rails保存EST而不是UTC的记录,仍然根据config.time_zone设置进行转换显示?

-Satynos

2 个答案:

答案 0 :(得分:3)

您应该考虑问题背后的原因。 记住:Rails实现约定优于配置 - 你最好有一个很好的理由想要改变约定!特别是在日常时间如何保存在数据库中的任意内容,以及Rails使我们使用日期的容易程度。

答案 1 :(得分:0)

我不知道强制记录要保存在EST中,但我想分享关于在db中使用本地时区的讨论:http://www.ruby-forum.com/topic/890711

从讨论开始,我最终使用 skip_time_zone_conversion_for_attributes 来解决类似问题(关于该方法:http://api.rubyonrails.org/classes/ActiveRecord/Timestamp.html)。 您可能会感兴趣 - 也许,将时区设置为EST,然后尝试此方法。

祝你好运!我知道已经有一段时间了,但也许需要一些时间让人们知道你最终做了什么。