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 zu1900; daher wird beidate.setYear(22)der Jahrwert auf1922gesetzt, und beidate.setYear(61)auf1961. (Im Gegensatz dazu setztnew Date(61, 1)den Jahrwert ebenfalls auf1961, abernew Date("2/1/22")setzt den Jahrwert auf2022; und ähnlich fürDate.parse()). -
setFullYear()führt keine spezielle Interpretation durch, sondern verwendet den wörtlichen zweistelligen Wert, um das Jahr zu setzen; daher wird beidate.setFullYear(61)der Jahrwert auf0061gesetzt und beidate.setFullYear(22)auf0022.
Aufgrund dieser Verhaltensunterschiede sollten Sie die veraltete setYear() Methode nicht mehr verwenden, sondern stattdessen die bevorzugte setFullYear() Methode nutzen.
Syntax
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.
const theBigDay = new Date();
theBigDay.setYear(96);
theBigDay.setYear(1996);
theBigDay.setYear(2000);
Spezifikationen
| Spezifikation |
|---|
| ECMAScript® 2027 Language Specification> # sec-date.prototype.setyear> |