2013-04-09 2 views
1

Я пытаюсь изменить часовой пояс для сеанса пользователя с использованием метода Time.zone. Я получаю правильную дату и время, когда я делаю Time.zone.now, но когда я делаю запрос select с использованием ActiveRecord :: Base.connection.select_all, столбцы datetime в результате всегда находятся в UTC. Что мне нужно сделать, чтобы все выбранные запросы возвращали данные в часовом поясе, которые были установлены с использованием метода Time.zone, без изменения представлений? Пожалуйста помоги.Изменение часового пояса ActiveRecord для сеанса

ответ

0

Проще всего преобразовать время в местный часовой пояс с рубином.

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

+0

Я знаю, что я мог бы сделать это, но я искал способ, чтобы получить смещение часового пояса применяется непосредственно в результаты запроса, так что мне не нужно менять все мои взгляды. Это возможно? –

Смежные вопросы