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 zu1900
; daher führtdate.setYear(22)
dazu, dass der Jahreswert auf1922
gesetzt wird, unddate.setYear(61)
führt dazu, dass der Jahreswert auf1961
gesetzt wird. (Im Gegensatz dazu führtnew Date(61, 1)
ebenfalls dazu, dass der Jahreswert auf1961
gesetzt wird, abernew Date("2/1/22")
führt dazu, dass der Jahreswert auf2022
gesetzt wird; ähnlich verhält es sich mitDate.parse()
). -
setFullYear()
nimmt keine spezielle Interpretation vor, sondern verwendet den wörtlichen zweistelligen Wert, um das Jahr zu setzen; also führtdate.setFullYear(61)
dazu, dass der Jahreswert auf0061
gesetzt wird, unddate.setFullYear(22)
dazu, dass der Jahreswert auf0022
gesetzt wird.
Aufgrund dieser Unterschiede im Verhalten sollten Sie die veraltete setYear()
-Methode nicht mehr verwenden, sondern stattdessen die bevorzugte setFullYear()
-Methode.
Syntax
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.
const theBigDay = new Date();
theBigDay.setYear(96);
theBigDay.setYear(1996);
theBigDay.setYear(2000);
Spezifikationen
Specification |
---|
ECMAScript® 2026 Language Specification # sec-date.prototype.setyear |