Кажется, эта Date.setMonth
функция JavaScript делает то, для чего она не предназначена.Вот фрагмент кода.В этом сценарии мы пытаемся получить последнюю дату каждого месяца.
var d = new Date(2018, 11, 31); // this would set it to Dec 31 2018
d.setMonth(d.getMonth() + 1); // this would set it to Jan 31 2019
d.setMonth(d.getMonth() + 1); // this would set it to March 03 2019
alert(d);
Итак, похоже, что функция установки месяца просто добавила 30 дней к предыдущей дате (31 января 2019 г.), что неоднозначно.Та же самая проблема может возникнуть в случае месяца с 30 днями.
Есть ли какое-нибудь решение, которое может дать нам точное решение этой проблемы, когда добавление месяцев просто меняет месяцы?и установить дату последней даты, если не существует?