Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Date.prototype.setYear()

Deprecated

Avoid using this feature in new projects. The getYear() and setYear() methods use a truncated number instead of the actual year number, known as a year 2000 problem. This feature may be a candidate for removal from web standards or browsers.

Die Methode setYear() von Date-Instanzen setzt das Jahr eines angegebenen Datums gemäß der lokalen Zeit.

Die veraltete Methode setYear() verarbeitet Jahreswerte jedoch anders als die bevorzugte Methode setFullYear() – und in einigen Fällen auch anders als new Date() und Date.parse(). Insbesondere bei zweistelligen Zahlen wie 22 und 61 gilt:

  • setYear() interpretiert jede zweistellige Zahl als Versatz zu 1900: date.setYear(22) setzt das Jahr auf 1922, und date.setYear(61) setzt es auf 1961. (Im Gegensatz dazu setzt new Date(61, 1) das Jahr zwar ebenfalls auf 1961, new Date("2/1/22") setzt es aber auf 2022; Entsprechendes gilt für Date.parse().)

  • setFullYear() nimmt keine solche Sonderbehandlung vor, sondern verwendet den zweistelligen Wert unverändert als Jahr: date.setFullYear(61) setzt das Jahr auf 0061, und date.setFullYear(22) setzt es auf 0022.

Aufgrund dieser Unterschiede sollten Sie die veraltete Methode setYear() nicht mehr verwenden, sondern stattdessen die bevorzugte Methode setFullYear().

Syntax

js
setYear(yearValue)

Parameter

yearValue

Eine Ganzzahl.

Rückgabewert

Ändert das Date-Objekt direkt und gibt seinen neuen Zeitstempel zurück. Wenn yearValue den Wert NaN hat (oder ein anderer Wert ist, der in NaN umgewandelt wird, etwa undefined), wird das Datum auf Invalid Date gesetzt und NaN zurückgegeben.

Beschreibung

Wenn yearValue eine Zahl zwischen 0 und 99 (einschließlich) ist, wird das Jahr von dateObj auf 1900 + yearValue gesetzt. Andernfalls wird das Jahr von dateObj auf yearValue gesetzt.

Beispiele

setYear() verwenden

Die ersten beiden Zeilen setzen das Jahr auf 1996. Die dritte setzt das Jahr auf 2000.

js
const theBigDay = new Date();

theBigDay.setYear(96);
theBigDay.setYear(1996);
theBigDay.setYear(2000);

Spezifikationen

Spezifikation
ECMAScript® 2027 Language Specification
# sec-date.prototype.setyear

Browser-Kompatibilität

Siehe auch