Неправильный часовой пояс в определенные годы/месяцы

#javascript

Вопрос:

Почему javascript предоставляет мне разные часовые пояса в разные даты?

конкретная дата

 const a = new Date()
console.log(a)
// Thu Nov 18 2021 10:14:12 GMT-0300 (Horário Padrão de Brasília)
const b = new Date(1991, 1, 15)
console.log(b)
// Fri Feb 15 1991 00:00:00 GMT-0200 (Horário de Verão de Brasília) 

Комментарии:

1. Переход на летнее время?

2. Звучит маловероятно, но, может быть, переход на летнее время в это время?

3. Летнее время периодически использовалось в Бразилии до 2019 года. То, что вы видите в 1991 году, было результатом такого законодательства о переходе на летнее время, которое устанавливало часы иначе, чем в остальное время года.

4. Кто-нибудь может помочь с этим вопросом? Почему люди дают отрицательную оценку?

5. Потому что ответ есть в комментариях

Ответ №1:

Это связано с тем, что летнее время в Бразилии отменено в 2019 году, поэтому сейчас в Бразилии по Гринвичу 3, а до 2019 года было по Гринвичу 2. Момент, когда JS обновил свою библиотеку — https://github.com/moment/moment/issues/5246