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 Methode setYear()
von Date
-Instanzen setzt das Jahr für ein bestimmtes Datum entsprechend der lokalen Zeit.
Die Art und Weise, wie die veraltete setYear()
-Methode Jahreswerte setzt, unterscheidet sich jedoch 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 einen Offset zu1900
; daher führtdate.setYear(22)
dazu, dass der Jahreswert auf1922
gesetzt wird, unddate.setYear(61)
setzt den Jahreswert auf1961
. (Im Gegensatz dazu führtnew Date(61, 1)
auch dazu, dass der Jahreswert auf1961
gesetzt wird, abernew Date("2/1/22")
setzt den Jahreswert auf2022
; und ähnlich fürDate.parse()
). -
setFullYear()
macht keine spezielle Interpretation, sondern verwendet den wörtlichen zweistelligen Wert, um das Jahr zu setzen; daher wird beidate.setFullYear(61)
der Jahreswert auf0061
gesetzt, und beidate.setFullYear(22)
wird der Jahreswert auf0022
gesetzt.
Aufgrund dieser Unterschiede im Verhalten sollten Sie die veraltete setYear()
-Methode nicht mehr verwenden, sondern stattdessen die bevorzugte setFullYear()
-Methode nutzen.
Syntax
setYear(yearValue)
Parameter
yearValue
-
Eine Ganzzahl.
Rückgabewert
Ändert das Date
-Objekt direkt und gibt den neuen Zeitstempel zurück. Wenn yearValue
NaN
ist (oder andere Werte, die zu NaN
umgewandelt werden, wie undefined
), wird das Datum auf Invalid Date gesetzt und NaN
wird 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 |