Moment: parseZone () неправильно анализирует UTC

Созданный на 23 сент. 2016  ·  6Комментарии  ·  Источник: moment/moment

В последней версии (2.15.1) функция parseZone () работает некорректно при смещении utc.

moment.parseZone ('2016-05-04T00: 00: 00Z'). format ()
=> "2016-05-04T08: 00: 00Z" плохо

moment.parseZone ('2016-05-04T00: 00: 00 + 08: 00'). format ()
=> "2016-05-04T00: 00: 00 + 08: 00" хорошо

Этот метод был хорош в версии 2.14.1, я недавно обновил moment.js до версии 2.15.1, и новая версия провалила мой тестовый пример.

Самый полезный комментарий

3504 только что получил отметку об исправлении ошибки w00t!

Все 6 Комментарий

Ага. Это неверно. Я, может быть, посмотрю, смогу ли я разобраться с этим сегодня вечером, думаю, я знаю, где это произошло.

К вашему сведению, эта ошибка была введена в исправление для # 3083, b2ee2d444282fcb90abfd43fe562253c73e14b08

Это может быть связано? Я тоже тестировал с 2.15.1:

t = moment().toISOString();
console.log(t.toString());
parsed = moment.parseZone(t);
console.log(parsed.toISOString());

Выходы:

2016-10-14T15:33:37.457Z
2016-10-14T17:33:37.457Z

Мое местное время - "Европа / Вена", и поэтому я знаю, откуда, вероятно, берется разница в 2 часа, но я не понимаю, почему это должно происходить.

С 2.14.1 я получаю ожидаемый результат:

2016-10-14T15:36:23.956Z
2016-10-14T15:36:23.956Z

Я считаю, что PR решит проблему - # 3504 - Пожалуйста, дайте мне знать, если это просто неправильно. @maggiepint

Я могу подтвердить, что это решает мою проблему из https://github.com/moment/moment/issues/3463#issuecomment -253836488

3504 только что получил отметку об исправлении ошибки w00t!

Была ли эта страница полезной?
0 / 5 - 0 рейтинги