В Rails 3.0.10 я использую Time.zone
, чтобы изменить то, как пользователь видит время курсов, опубликованных в США. Однако изменение часового пояса, похоже, ведет себя не так, как я ожидал
Time.zone = TZInfo::Timezone.get('America/Los_Angeles')
Time.zone # => (GMT-08:00) America/Los_Angeles
Time.current # => 2011-10-30 14:00:00 -0700
Time.zone = TZInfo::Timezone.get('America/Chicago')
Time.zone # => (GMT-06:00) America/Chicago
Time.current # => 2011-10-30 14:00:00 -0700
Я ожидаю, что время изменится, а также смещение, чтобы приспособиться к изменению Time.zone, однако не похоже, что оно ведет себя таким образом.
Я столкнулся с проблемой, когда пользователи, скажем, в Лос-Анджелесе, Калифорния, создают курсы, которые заканчиваются в 9 вечера по калифорнийскому времени, а пользователи в разных часовых поясах видят, что курс становится неактивным и исчезает в разное время, а не в одно и то же время. Может ли кто-нибудь пролить свет на то, что на самом деле делает настройка Time.zone и как я могу заставить курс, который заканчивается в 21:00 (PST), правильно исчезнуть в 23:00 (CST)?