Javascript und unfreiwillige Monatswechsel

Stelllt euch vor, wir haben den 31.07.2013 und ihr schreibt folgenden Javascript-Code:

var date = new Date();
date.setYear(2013);
date.setMonth(5);
date.setDate(13);

Was kommt raus? Nicht etwa 13.05.2013 – Monate sind Null-basiert! Auch nicht der 13.06.2013. Beim setzen des Monats, wird der aktuelle Tag von new Date() beibehalten – sofern nicht vorher explizit umgesetzt. Und ihr erinnert euch, wir haben den 31.07.2013, also will Javascript den 31.06.2013 setzen. Den gibt es aber nicht, und um diesen Overflow zu kompensieren, zählt Javascript eigenständig den Monat hoch. Das Ergebnis des obrigen Codes: 13.07.2013. Sowas muss man erstmal wissen.

Via Tomás und von mir dreist übersetzt.

Advertisements
Getaggt mit , ,

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: