Направляющие: преобразуйте UTC DateTime в другой часовой пояс

В Ruby/направляющих, как я преобразовываю UTC DateTime в другой часовой пояс?

108
задан fearless_fool 30 November 2013 в 11:01
поделиться

2 ответа

time.in_time_zone(time_zone)

Пример:

zone = ActiveSupport::TimeZone.new("Central Time (US & Canada)")
Time.now.in_time_zone(zone)

или просто

Time.now.in_time_zone("Central Time (US & Canada)")

Вы можете найти названия часовых поясов ActiveSupport, выполнив:

ActiveSupport::TimeZone.all.map(&:name)
# or for just US
ActiveSupport::TimeZone.us_zones.map(&:name)
200
ответ дан 24 November 2019 в 03:31
поделиться

Попробуйте объекты ActiveSupport TimeWithZone , управляемые с помощью TimeZone. ActiveSupport также предоставляет метод in_time_zone для преобразования времени UTC в указанный часовой пояс TimeZone. Ответ mckeed показывает код.

3
ответ дан 24 November 2019 в 03:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: