更改会话的ActiveRecord时区

时间:2013-04-09 20:09:56

标签: ruby-on-rails activerecord timezone

我一直在尝试使用Time.zone方法更改用户会话的时区。当我执行Time.zone.now时,我得到了正确的日期和时间,但是当我使用ActiveRecord :: Base.connection.select_all执行选择查询时,结果中的日期时间列始终为UTC。我需要做什么才能使所有选择查询返回使用Time.zone方法设置的时区中的数据,而不更改视图?请帮忙。

1 个答案:

答案 0 :(得分:0)

使用ruby将时间转换为本地时区是最简单的。

Time.now.in_time_zone()

使用它。

Time.now.in_time_zone('Alaska') # => Fri, 31 Dec 1999 15:00:00 AKST -09:00

您可以为函数指定时区字符串或UTC偏移量

http://apidock.com/rails/Time/in_time_zone