2015-08-17 4 views
2

У меня есть следующий методКак правильно установить формат времени в методе strftime?

<%= message.created_at.strftime("%H:%M") %> 

, что в настоящее время возвращается 21:00

Мне нужно, чтобы отобразить часовой пояс Europe/Kiev, которая на 3 часа больше, чем часовой пояс обычного Гринвича в. Как установить его в методе ввода?

ответ

1

Если вы сохранили время в своей базе данных в формате UTC, то это время всегда будет в UTC, когда вы его получите. Вам необходимо отобразить его в соответствии с местным часовым поясом пользователя. Вы должны сделать это с помощью JavaScript, проверьте это article.

Или, если вам нужно только Киевский часовой пояс и больше ничего вы можете сделать что-то вроде этого:

<%= message.created_at.in_time_zone('Europe/Kiev').strftime("%H:%M") %> 
+0

Спасибо, Никола! –

2

Вы можете использовать красивый драгоценный камень под названием «LOCAL_TIME». Он заботится о локальном рендеринге времени в ваших представлениях. У него очень хорошая документация. Посетите https://github.com/basecamp/local_time