Я использую moment-timezone v.0.5.3-2016c
библиотеку для вычисления UTC смещения для часового пояса:момент Часовой пояс: UTC смещение разница
var z = moment().tz("America/Los_Angeles");
z.utcOffset(); // -420 mins or -7 hours
// check if DST is shifted
z.isDSTShifted(); // false
Но здесь https://en.wikipedia.org/wiki/List_of_tz_database_time_zones UTC смещение для America/Los_Angeles
на -8 часов.
Moment использует tzdb v.2016c и статью в википедии.
Хорошо, почему здесь есть два разных результата? И какой результат правильный?
P.S .: существует такая же разница для America/Kentucky/Monticello
и Europe/Tiraspol
, а также.
'-7' - правильный ответ в настоящее время (29 апреля 2016 года). Вопрос в том, почему процедура Moment '.isDSTOffset()' не знает этого. Я думаю, что это имеет какое-то отношение к тому, как Moment получает значение Date; если он исходит из родного объекта Date, он, возможно, не сможет сказать. – Pointy
[См. Этот отчет об ошибке.] (Https://github.com/moment/moment-timezone/issues/131) – Pointy
[Также этот старый вопрос SO.] (Http://stackoverflow.com/questions/26063400/check -if-date-isdstshifted) – Pointy