назад до уроку

Останній день місяця?

важливість: 5

Напишіть функцію getLastDayOfMonth(year, month), що повертає останній день місяця. Іноді це 30-е, 31-ше або навіть 28/29-е для лютого.

Параметри:

  • year – чотиризначний рік, наприклад 2012.
  • month – місяць, від 0 to 11.

Наприклад, getLastDayOfMonth(2012, 1) = 29 (високосний рік, лютий).

Відкрити пісочницю з тестами.

Створімо дату, використовуючи наступний місяць, але передамо нуль, як день:

function getLastDayOfMonth(year, month) {
  let date = new Date(year, month + 1, 0);
  return date.getDate();
}

alert( getLastDayOfMonth(2012, 0) ); // 31
alert( getLastDayOfMonth(2012, 1) ); // 29
alert( getLastDayOfMonth(2013, 1) ); // 28

Зазвичай дати починаються з 1, але технічно ми можемо передати будь-яке число, дата автоматично відрегулює себе. Отже, коли ми передаємо 0, то це означає “за день до 1-го дня місяця”, іншими словами: “останній день попереднього місяця”.

Відкрити рішення із тестами в пісочниці.