Неправильно отрабатывает метод getMonth

Здравствуйте. Наткнулся на ровном месте на проблему, метод getMonth возвращает номер месяца меньше на 1 от текущего.

Пример кода:

curDate = new Date();
log("curDate {}, getMonth {}", curDate, curDate.getMonth());

Результат вывода:
image

Данные контролера:

Проблема появилась примерно день назад, раньше не замечал. В чем может быть причина?

Добрый день!

Вы абсолютно верно заметили поведение, но это не ошибка — это особенность стандартного JavaScript API, в частности объекта Date.

Метод getMonth() по спецификации ECMAScript возвращает номер месяца в диапазоне от 0 до 11:

  • Январь — 0
  • Февраль — 1
  • Декабрь — 11

Это сделано для удобства внутренней индексации (аналогично массивам, которые начинаются с нуля). Если нужно получить привычный номер месяца (от 1 до 12), просто прибавьте 1

Спасибо. Буду знать

1 лайк