Temporal.PlainMonthDay()
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Der Temporal.PlainMonthDay()
Konstruktor erzeugt Temporal.PlainMonthDay
Objekte.
Dieser Konstruktor ermöglicht es Ihnen, Instanzen durch direkte Angabe der zugrunde liegenden Daten zu erstellen. Wie bei allen anderen Temporal
Klassen sollten Sie normalerweise Temporal.PlainMonthDay
Objekte mit der Temporal.PlainMonthDay.from()
statischen Methode konstruieren, die eine Vielzahl von Eingabedatentypen verarbeiten kann.
Syntax
new Temporal.PlainMonthDay(month, day)
new Temporal.PlainMonthDay(month, day, calendar)
new Temporal.PlainMonthDay(month, day, calendar, referenceYear)
Hinweis: Temporal.PlainMonthDay()
kann nur mit new
konstruiert werden. Der Versuch, es ohne new
aufzurufen, wirft einen TypeError
.
Warnung:
Vermeiden Sie die Verwendung der Parameter calendar
und referenceYear
, da equals()
das Referenzjahr zur Gleichheitsprüfung heranziehen wird, wodurch zwei äquivalente Monat-Tage als unterschiedlich angesehen werden, wenn sie unterschiedliche Referenzjahre haben. Um ein Temporal.PlainMonthDay
Objekt mit einem nicht-ISO-Kalender zu erstellen, verwenden Sie die Temporal.PlainMonthDay.from()
statische Methode.
Parameter
month
-
Eine Zahl, auf eine ganze Zahl gekürzt, die den Monat im ISO-Kalendersystem darstellt.
day
-
Eine Zahl, auf eine ganze Zahl gekürzt, die den Tag des Monats im ISO-Kalendersystem darstellt.
calendar
Optional-
Ein String, der den Kalender angibt, der verwendet werden soll. Beachten Sie, dass unabhängig vom
calendar
,referenceYear
,month
undday
im ISO 8601-Kalendersystem sein müssen. Standardmäßig"iso8601"
. referenceYear
Optional-
Eine Zahl, auf eine ganze Zahl gekürzt, die das Jahr im ISO-Kalendersystem darstellt. Standardmäßig
1972
. Derselbe ISO-Monatstag kann in verschiedenen Jahren mit nicht-ISO-Kalendern unterschiedliche Daten darstellen. Zum Beispiel können die Tage 2021-07-01 und 1972-07-01 in einem nicht-gregorianischen Kalender auf unterschiedliche Monatstage fallen, und nur "07-01" anzugeben, reicht nicht aus, um einen Monatstag im Zielkalender eindeutig zu bestimmen. Daher möchten Sie nahezu immer einreferenceYear
angeben, wenn Sie einen nicht-ISO-Kalender verwenden.
Rückgabewert
Ein neues Temporal.PlainMonthDay
Objekt, das den Monat-Tag des durch referenceYear
, month
, day
(im ISO-Kalender) angegebenen Datums repräsentiert und im durch calendar
angegebenen Kalendersystem interpretiert wird.
Ausnahmen
TypeError
-
Wird geworfen, wenn
calendar
kein String oderundefined
ist. RangeError
-
Wird in einem der folgenden Fälle geworfen:
referenceYear
,month
oderday
ist keine endliche Zahl.- Die Kombination aus
referenceYear
,month
undday
stellt kein gültiges Datum im ISO-Kalendersystem dar oder liegt nicht im darstellbaren Bereich, welcher ±(108 + 1) Tage, oder etwa ±273,972.6 Jahre, vom Unix-Epoch ist. calendar
ist kein gültiger Kalenderidentifikator.
Beispiele
Verwendung von Temporal.PlainMonthDay()
const md = new Temporal.PlainMonthDay(7, 1);
console.log(md.toString()); // 07-01
const md2 = new Temporal.PlainMonthDay(7, 1, "chinese");
console.log(md2.toString()); // 1972-07-01[u-ca=chinese]
const md3 = new Temporal.PlainMonthDay(7, 1, "chinese", 2021);
console.log(md3.toString()); // 2021-07-01[u-ca=chinese]
Ungeeignete Verwendung
Sie sollten die Parameter calendar
und referenceYear
vermeiden, es sei denn, Sie wissen, dass das referenceYear
das kanonische Referenzjahr ist, das von Temporal.PlainMonthDay.from()
für denselben Monat-Tag ausgewählt würde.
const md = new Temporal.PlainMonthDay(7, 1, "chinese", 2021);
const md2 = Temporal.PlainMonthDay.from("2021-07-01[u-ca=chinese]");
console.log(md.equals(md2)); // false
console.log(md.toString()); // 2021-07-01[u-ca=chinese]
console.log(md2.toString()); // 1972-07-02[u-ca=chinese]
Spezifikationen
Specification |
---|
Temporal proposal # sec-temporal-plainmonthday-constructor |