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 erstellt 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 mithilfe der statischen Methode Temporal.PlainMonthDay.from()
konstruieren, die eine Vielzahl von Eingabetypen 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, ihn ohne new
aufzurufen, führt zu einem TypeError
.
Warnung:
Vermeiden Sie die Verwendung der Parameter calendar
und referenceYear
, da equals()
das Bezugsjahr für Gleichheit berücksichtigen wird, was dazu führt, dass zwei äquivalente Monats-Tage als unterschiedlich angesehen werden, wenn sie unterschiedliche Bezugsjahre haben. Um ein Temporal.PlainMonthDay
Objekt mit einem Nicht-ISO-Kalender zu erstellen, verwenden Sie die statische Methode Temporal.PlainMonthDay.from()
.
Parameter
month
-
Eine Zahl, auf eine Ganzzahl gekürzt, die den Monat im ISO-Kalendersystem darstellt.
day
-
Eine Zahl, auf eine Ganzzahl gekürzt, die den Tag des Monats im ISO-Kalendersystem darstellt.
calendar
Optional-
Ein String, der den zu verwendenden Kalender repräsentiert. Siehe
Intl.supportedValuesOf()
für eine Liste häufig unterstützter Kalendertypen. Standard ist"iso8601"
. Beachten Sie, dass unabhängig vomcalendar
,referenceYear
,month
undday
im ISO 8601 Kalendersystem sein müssen. referenceYear
Optional-
Eine Zahl, auf eine Ganzzahl gekürzt, die das Jahr im ISO-Kalendersystem darstellt. Standard ist
1972
. Derselbe ISO-Monat-Tag kann unterschiedliche Daten in verschiedenen Jahren mit Nicht-ISO-Kalendern darstellen. Beispielsweise können die Tage 2021-07-01 und 1972-07-01 in einem nicht-gregorianischen Kalender auf unterschiedliche Monats-Tage fallen, und die bloße Angabe von "07-01" reicht nicht aus, um einen Monat-Tag im Zielkalender eindeutig zu bestimmen. Daher möchten Sie praktisch 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
spezifizierten Datums (im ISO-Kalender) repräsentiert und im durch calendar
angegebenen Kalendersystem interpretiert wird.
Ausnahmen
TypeError
-
Wird ausgelöst, wenn
calendar
kein String oderundefined
ist. RangeError
-
Wird in einem der folgenden Fälle ausgelöst:
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, der ±(108 + 1) Tage, oder etwa ±273.972,6 Jahre, vom Unix-Epoch umfasst. 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]
Unzulässige Verwendung
Sie sollten die Parameter calendar
und referenceYear
vermeiden, es sei denn, Sie wissen, dass das referenceYear
das kanonische Bezugsjahr 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 # sec-temporal-plainmonthday-constructor |