Rails 3 - расчет времени в часовом поясе пользователей - PullRequest
2 голосов
/ 21 июля 2011

Я создаю гоночный сайт для себя и своих друзей.Когда пользователь создает свою учетную запись, выберите свой часовой пояс из списка, который я заполнил ActiveSupport::TimeZone.

Когда пользователь создает гонку, он может выбрать время и часовой пояс, в котором проходит гонка.Пример:

Пользователь выбрал часовой пояс Москва, который составляет -10 часов от UTC.Затем другой пользователь создает гонку и выбирает время 3 часа дня в часовом поясе для Будапешта, что составляет +3 часа от UTC.

Я пытаюсь выяснить, как рассчитать время гонки.Часовой пояс Будапешта, но я изо всех сил, я упускаю простой способ сделать это?

Надеюсь, вы понимаете, о чем я.

Eef

1 Ответ

3 голосов
/ 21 июля 2011

Сохранять все время в UTC - конвертировать с помощью ActiveSupport :: Timezone.local_to_utc.

При отображении времени, конвертировать обратно в местное время для этого пользователя с ActiveSupport :: Timzezone.utc_to_local.

= ActiveSupport::TimeZone.utc_to_local

(from gem activesupport-3.0.8)
------------------------------------------------------------------------------
  utc_to_local(time)

------------------------------------------------------------------------------

Adjust the given time to the simultaneous time in the time zone represented by
self. Returns a Time.utc() instance -- if you want an
ActiveSupport::TimeWithZone instance, use Time#in_time_zone() instead.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...