Don P: Behandlung zweistelliger Jahreszahlen

Beitrag lesen

Hallo,

Ich lass in ein Formular eine Jahreszahl eingeben und mache daraus ein Date-Objekt.

datum = new Date(jahr.value, monat.value-1, tag.value);

Der Abschnitt 15.9.2 liefert mir dann auch die Sicherheit, die ich brauche [...]

Du meinst nicht 15.9.2, denn dieser Abschnitt beschäftigt sich gerade *nicht* mit der Konstruktor-Methode new Date(...), die du verwendest, sondern mit der Funktion Date(...), die alle Argumente ignoriert und einen String zurückgibt, kein Date-Objekt.
Zitat aus 15.9.2: The function call Date(…) is not equivalent to the object creation expression new Date(…) with the same arguments.

Die Sicherheit gibt dir aber der Abschnitt 15.9.3.1 zu new Date(...), wo es in Punkt 8 heißt:
"If y is not NaN and 0 ≤ ToInteger(y) ≤ 99, then let yr be 1900+ToInteger(y); otherwise, let yr be y."
yr meint das resultierende Jahr und y das dem Konstuktor übergebene Jahr.

Gruß, Don P