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 angegebenes Datum gemäß der lokalen Zeit.
Allerdings setzt die veraltete Methode setYear()
Jahreswerte anders fest als die bevorzugte Methode setFullYear()
. In manchen Fällen unterscheidet sie sich auch von der Art und Weise wie new Date()
und Date.parse()
Jahreswerte festlegen. Insbesondere bei zweistelligen Zahlen, wie 22
und 61
:
-
setYear()
interpretiert jede zweistellige Zahl als eine Verschiebung zu1900
; somit ergibtdate.setYear(22)
den Jahreswert1922
, unddate.setYear(61)
den Jahreswert1961
. (Im Gegensatz dazu ergibtnew Date(61, 1)
ebenfalls den Jahreswert1961
, abernew Date("2/1/22")
ergibt den Jahreswert2022
; ähnlich verhält es sich mitDate.parse()
). -
setFullYear()
führt keine spezielle Interpretation durch, sondern verwendet den wörtlichen zweistelligen Wert, um das Jahr festzulegen; somit ergibtdate.setFullYear(61)
den Jahreswert0061
, unddate.setFullYear(22)
den Jahreswert0022
.
Aufgrund dieser Unterschiede im Verhalten sollten Sie die veraltete Methode setYear()
nicht mehr verwenden, sondern stattdessen die bevorzugte Methode setFullYear()
nutzen.
Syntax
setYear(yearValue)
Parameter
yearValue
-
Eine Ganzzahl.
Rückgabewert
Ändert das Date
-Objekt an Ort und Stelle und gibt seinen neuen Zeitstempel zurück. Wenn yearValue
NaN
ist (oder andere Werte, die zur Zwangskonvertierung zu NaN
führen, wie undefined
), wird das Datum auf Ungültiges Datum gesetzt, und NaN
wird zurückgegeben.
Beschreibung
Wenn yearValue
eine Zahl zwischen 0 und 99 (einschließlich) ist, 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 Language Specification # sec-date.prototype.setyear |
Browser-Kompatibilität
BCD tables only load in the browser