Als u 0
opgeeft als de dayValue
in Date.setFullYear
, krijgt u de laatste dag van de vorige maand:
d = new Date(); d.setFullYear(2008, 11, 0); // Sun Nov 30 2008
Er is een verwijzing naar dit gedrag op mozilla. Is dit een betrouwbare functie voor meerdere browsers of moet ik naar alternatieve methoden kijken?
Antwoord 1, autoriteit 100%
var month = 0; // January
var d = new Date(2008, month + 1, 0);
console.log(d.toString()); // last day in January
Snippet uitvouwen
Antwoord 2, autoriteit 20%
Ik vind dit de beste oplossing voor mij. Laat het object Date het voor je berekenen.
var today = new Date();
var lastDayOfMonth = new Date(today.getFullYear(), today.getMonth()+1, 0);
Het instellen van de dagparameter op 0 betekent één dag minder dan de eerste dag van de maand die de laatste dag van de vorige maand is.
Antwoord 3, autoriteit 15%
Ik zou een tussenliggende datum gebruiken met de eerste dag van de volgende maand en de datum van de vorige dag retourneren:
int_d = new Date(2008, 11+1,1);
d = new Date(int_d - 1);