torna alle lezioni

Ultimo giorno del mese?

importanza: 5

Scrivi una funzione getLastDayOfMonth(year, month) che ritorna l’ultimo giorno del mese. Potrebbe essere il 30, il 31 o anche 28/29.

Parametri:

  • year – anno nel formato 4 cifre, ad esempio 2012.
  • month – mese, da 0 a 11.

Ad esempio, getLastDayOfMonth(2012, 1) = 29 (anno bisestile, Febbraio).

Apri una sandbox con i test.

Creiamo un oggetto date con il mese successivo, e come giorno passiamo zero:

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

Formalmente, le date cominciano da 1, ma tecnicamente possiamo passare qualsiasi numero, l’oggetto si aggiusterà automaticamente. Quindi quando gli passiamo 0, allora significherà “il giorno precedente al primo giorno del mese”; in altre parole: “l’ultimo giorno del mese precedente”.

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

Apri la soluzione con i test in una sandbox.