Hallo Max,
ich habe in einer unserer Web-Anwendungen oftmals das Date Objekt benutzt und in der letzten Woche jede Menge Beschwerden wegen Fehlern bekommen, obwohl die Anwendung (Reiskostenabrechnung) schon seit einem Jahr eigentlich fehlerlos läuft.
Ich habe das Problem ein wenig komprimiert. Testet einfach mal den folgenden Code:
<html>
<head>
</head>
<body>
<script language="JavaScript">
Test1 = new Date( 2002, 10, 30 );
Test2 = new Date( 2002, 10, 31 );
Test3 = new Date( 2002, 11, 01 );alert( Test1.getDate() + " ." + Test1.getMonth() + "." + Test1.getFullYear() );
alert( Test2.getDate() + " ." + Test2.getMonth() + "." + Test2.getFullYear() );
alert( Test3.getDate() + " ." + Test3.getMonth() + "." + Test3.getFullYear() );
</script>
</body>
</html>Ich hoffe, ich bin nicht der einzige, bei dem Test2 auf einmal in den 1. November 2002 umgewandelt wird. Ein Bug würde ich sagen, oder? Hat jemand eine Antwort oder vielleicht sogar ein Bugfix?
Nö, das ist üblich. Die Range für Month geht bei JavaScript von 0 bis 11, wobei der Monat 0 der Januar ist und der Monat 11 der Dezember ist. Und das ganze ist kein Bug, sondern eine konsequente Verfolgung des Sprachkonzepts. Wenn Du unter http://selfhtml.teamone.de/javascript/objekte/date.htm#allgemeines nachschaust, dann wirst Du dieses Verhalten auch dokumentiert finden.
Bis denndann
Michael N.