Здравствуйте. Наткнулся на ровном месте на проблему, метод getMonth возвращает номер месяца меньше на 1 от текущего.
Пример кода:
curDate = new Date();
log("curDate {}, getMonth {}", curDate, curDate.getMonth());
Результат вывода:

Данные контролера:
Проблема появилась примерно день назад, раньше не замечал. В чем может быть причина?
Добрый день!
Вы абсолютно верно заметили поведение, но это не ошибка — это особенность стандартного JavaScript API, в частности объекта Date
.
Метод getMonth()
по спецификации ECMAScript возвращает номер месяца в диапазоне от 0 до 11:
- Январь —
0
- Февраль —
1
- …
- Декабрь —
11
Это сделано для удобства внутренней индексации (аналогично массивам, которые начинаются с нуля). Если нужно получить привычный номер месяца (от 1 до 12), просто прибавьте 1