момент-часовой пояс America / Sao_Paulo неправильное смещение часового пояса

Я получаю сообщение об ошибке при использовании moment-timezone с America/Sao_Paulo попыткой синтаксического анализа даты со смещением America/Sao_Paulo. Я создал этот код:

const date = "2019-1-1 23:30";
const format = "YYYY-M-D HH:mm";
const timezone = "America/Sao_Paulo";
const dateMoment = moment.tz(date, format, timezone);

Результат dateMoment - 2019-01-01T23:30:00-02:00, но я ожидаю 2019-01-01T23:30:00-03:00, поскольку America/Sao_Paulo имеет смещение -03:00.

Я что-то упустил или неправильно инициализировал dateMoment?

const date = "2019-1-1 23:30";
const format = "YYYY-M-D HH:mm";
const timezone = "America/Sao_Paulo";
const dateMoment = moment.tz(date, format, timezone);

console.log(dateMoment.format());
console.log(moment.tz(timezone).format('Z'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.6/moment.min.js"></script>
<script type="text/javascript" src="http://momentjs.com/downloads/moment-timezone-with-data.js"></script>


person Pedro Arantes    schedule 10.06.2019    source источник
comment
Вывод правильный, см. Sao Paulo DST Changes, смещение в Июнь -03:00, а смещение -02:00 в январе.   -  person VincenzoC    schedule 10.06.2019
comment
Это было исправлено в сборке момент / часовой пояс 0.5.27. Обновите lib / js для моментального часового пояса, чтобы увидеть эффект. github.com/moment/moment-timezone/tree/develop/builds   -  person Dnyaneshwar Harer    schedule 30.01.2020


Ответы (1)


1 января 2019 года в Сан-Паулу все еще переходили летнее время . До 17 февраля было UTC-2.

Бразилия отменила летнее время в будущем, но этого не произошло еще не вступил в силу.

person Matt Johnson-Pint    schedule 10.06.2019