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 setYear() Methode von Date-Instanzen setzt das Jahr für ein angegebenes Datum entsprechend der Ortszeit.

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

  • setYear() interpretiert jede zweistellige Zahl als Offset zu 1900; daher wird bei date.setYear(22) der Jahrwert auf 1922 gesetzt, und bei date.setYear(61) auf 1961. (Im Gegensatz dazu setzt new Date(61, 1) den Jahrwert ebenfalls auf 1961, aber new Date("2/1/22") setzt den Jahrwert auf 2022; und ähnlich für Date.parse()).

  • setFullYear() führt keine spezielle Interpretation durch, sondern verwendet den wörtlichen zweistelligen Wert, um das Jahr zu setzen; daher wird bei date.setFullYear(61) der Jahrwert auf 0061 gesetzt und bei date.setFullYear(22) auf 0022.

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

Syntax

js
setYear(yearValue)

Parameter

yearValue

Eine ganze Zahl.

Rückgabewert

Ändert das Date-Objekt an Ort und Stelle und gibt dessen neuen Zeitstempel zurück. Wenn yearValue NaN ist (oder andere Werte, die umgewandelt zu NaN werden, wie 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 von 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

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

Browser-Kompatibilität

Siehe auch