Date.prototype.setYear()

Veraltet: Diese Funktion wird nicht mehr empfohlen. Obwohl einige Browser sie möglicherweise noch unterstützen, könnte sie bereits aus den relevanten Webstandards entfernt worden sein, in Kürze entfernt werden oder nur noch aus Kompatibilitätsgründen bestehen. Vermeiden Sie die Verwendung und aktualisieren Sie vorhandenen Code, falls möglich; siehe die Kompatibilitätstabelle am Ende dieser Seite, um Ihre Entscheidung zu unterstützen. Beachten Sie, dass diese Funktion jederzeit aufhören könnte zu funktionieren.

Die setYear()-Methode von Date-Instanzen setzt das Jahr für ein angegebenes Datum entsprechend der lokalen Zeit.

Allerdings unterscheidet sich die Art und Weise, wie die veraltete Methode setYear() Jahreswerte setzt, von der bevorzugten setFullYear()-Methode — und in einigen Fällen auch von der Art und Weise, wie new Date() und Date.parse() Jahreswerte setzen. Insbesondere bei zweistelligen Zahlen, wie 22 und 61:

  • setYear() interpretiert jede zweistellige Zahl als Offset zu 1900; daher führt date.setYear(22) dazu, dass der Jahreswert auf 1922 gesetzt wird, und date.setYear(61) führt dazu, dass der Jahreswert auf 1961 gesetzt wird. (Im Gegensatz dazu führt new Date(61, 1) ebenfalls dazu, dass der Jahreswert auf 1961 gesetzt wird, aber new Date("2/1/22") führt dazu, dass der Jahreswert auf 2022 gesetzt wird; ähnlich verhält es sich mit Date.parse()).

  • setFullYear() nimmt keine spezielle Interpretation vor, sondern verwendet den wörtlichen zweistelligen Wert, um das Jahr zu setzen; also führt date.setFullYear(61) dazu, dass der Jahreswert auf 0061 gesetzt wird, und date.setFullYear(22) dazu, dass der Jahreswert auf 0022 gesetzt wird.

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

Syntax

js
setYear(yearValue)

Parameter

yearValue

Eine ganze Zahl.

Rückgabewert

Ändert das Date-Objekt direkt und gibt seinen neuen Zeitstempel zurück. Wenn yearValue NaN ist (oder andere Werte, die zu NaN umgewandelt werden, wie z.B. undefined), wird das Datum auf Invalid Date gesetzt und NaN zurückgegeben.

Beschreibung

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

Beispiele

Verwendung von setYear()

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

Specification
ECMAScript® 2026 Language Specification
# sec-date.prototype.setyear

Browser-Kompatibilität

Siehe auch