2017-01-03 4 views
0

Я хочу отобразить «Сегодня», когда сегодня встречается встреча. meeting_time сохраняется в UTC, а затем преобразуется в местный часовой пояс: «? Сегодня»рельсы. Сегодня? в UTC вместо часового пояса

<% meeting_time = meeting.meeting_time.in_time_zone("Eastern Time (US & Canada)") %> 

<% meeting_time.today? %> оценивающей истина в 7 вечера за день до этого, потому что Я считаю, что это UTC.

Как использовать метод «сегодня» в другом часовом поясе? Я уже пробовал:

<% meeting_time.today.in_time_zone("Eastern Time (US & Canada)")? %> 

но выдает ошибку.

Спасибо!

+2

установить часовой пояс с помощью первого 'Time.zone =«Восточное время (США & Канада)» 'перед вызовом' meeting_time.today? ' – jvnill

+1

@jvnill ничего себе, что так прямо вперед, я чувствую себя тупой ... не могли бы вы разместить в качестве ответа ниже, чтобы я мог принять. Благодаря! – gwalshington

ответ

3

Установите часовой пояс сначала, используя Time.zone = 'Eastern Time (US & Canada)', прежде чем звонить meeting_time.today?. Будьте осторожны, хотя это устанавливает широкое применение часового пояса. Обычно вы делаете это в конфигурационных файлах.

UPDATE

Использование Time.use_zone('Eastern Time (US & Canada)') для ваших нужд.

Time.use_zone('Eastern Time (US & Canada)') do 
    meeting_time.today? 
end 
+0

Как я могу установить его во всем приложении? Я просто хочу сравнить время в этом контроллере. Благодаря! – gwalshington

+1

@gwalshington обновил ответ – jvnill

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