#javascript #ruby-on-rails #ruby #date #dayjs
Вопрос:
Я использую ввод часового пояса Rails:
<%= time_zone_select( "user", "time_zone", nil, default: "Pacific Time (US amp; Canada)" ) %>
но теперь я пытаюсь передать это значение (сохраненное в javascript в переменной user_timezone_string) компоненту javascript с помощью day.js:
dayjs.extend(utc)
dayjs.extend(timezone)
var now = dayjs().tz(user_timezone_string)
Я пробовал делать:
<%= ActiveSupport::TimeZone.find_tzinfo(time_zone).to_s.sub! ' - ', '/' %>
который работает в некоторых часовых поясах, но не работает в Буэно-Айресе (03:00 по Гринвичу) и других.
Комментарии:
1. Каковы выходные данные в консоли user_timezone_string и сейчас?
2. Согласно его документации , day.js возвращает «часовой пояс» в качестве репрезентативного местоположения IANA, например «Европа/Берлин», который представляет все текущие и исторические смещения для Берлина , включая все изменения в местных и переходах на летнее время. Часовой пояс, такой как «Тихоокеанское время» (он же Тихоокеанское стандартное время или PST), представляет собой одно смещение, т. Е. UTC-8. В настоящее время во всех местах, которые находятся в часовом поясе PST, наблюдается переход на летнее время, он же PDT.
3. PS. PST также означает стандартное время Питкэрна, в котором не соблюдается переход на летнее время, поэтому PST работает круглый год. 🙂