Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Temporal.PlainMonthDay()-Konstruktor

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

Want more browser support for this feature? Tell us why.

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.

Mit diesem Konstruktor können Sie Instanzen erstellen, indem Sie die zugrunde liegenden Daten direkt angeben. Wie bei allen anderen Temporal-Klassen sollten Sie Temporal.PlainMonthDay-Objekte in der Regel mit der statischen Methode Temporal.PlainMonthDay.from() erstellen, die verschiedene Eingabetypen verarbeiten kann.

Syntax

js
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, löst einen TypeError aus.

Warnung: Vermeiden Sie die Verwendung der Parameter calendar und referenceYear, da equals() das Referenzjahr bei der Gleichheit berücksichtigt. Dadurch werden zwei äquivalente Monatstage als verschieden betrachtet, wenn sie unterschiedliche Referenzjahre 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

Eine Zeichenfolge, die den zu verwendenden Kalender darstellt. Eine Liste häufig unterstützter Kalendertypen finden Sie unter Intl.supportedValuesOf(). Der Standardwert ist "iso8601". Beachten Sie, dass referenceYear, month und day unabhängig von calendar im ISO-8601-Kalendersystem liegen müssen.

referenceYear Optional

Eine Zahl, auf eine Ganzzahl gekürzt, die das Jahr im ISO-Kalendersystem darstellt. Der Standardwert ist 1972. Derselbe ISO-Monatstag kann in verschiedenen Jahren mit nicht-ISO-Kalendern unterschiedliche Daten darstellen. Beispielsweise können die Tage 2021-07-01 und 1972-07-01 in einem nicht-gregorianischen Kalender auf unterschiedliche Monatstage fallen, und die alleinige Angabe von „07-01“ reicht nicht aus, um einen Monatstag im Zielkalender eindeutig zu bestimmen. Daher sollten Sie bei der Verwendung eines nicht-ISO-Kalenders praktisch immer ein referenceYear angeben.

Rückgabewert

Ein neues Temporal.PlainMonthDay-Objekt, das den Monatstag des durch referenceYear, month und day angegebenen Datums (im ISO-Kalender) darstellt, interpretiert im durch calendar angegebenen Kalendersystem.

Ausnahmen

TypeError

Wird ausgelöst, wenn calendar keine Zeichenfolge oder undefined ist.

RangeError

Wird in einem der folgenden Fälle ausgelöst:

  • referenceYear, month oder day ist keine endliche Zahl.
  • Die Kombination aus referenceYear, month und day stellt kein gültiges Datum im ISO-Kalendersystem dar oder liegt nicht im darstellbaren Bereich, der ±(108 + 1) Tage beziehungsweise etwa ±273.972,6 Jahre von der Unix-Epoche beträgt.
  • calendar ist kein gültiger Kalenderbezeichner.

Beispiele

Verwendung von Temporal.PlainMonthDay()

js
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]

Unsachgemäße Verwendung

Sie sollten die Parameter calendar und referenceYear nicht verwenden, es sei denn, Sie wissen, dass referenceYear das kanonische Referenzjahr ist, das von Temporal.PlainMonthDay.from() für denselben Monatstag ausgewählt würde.

js
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

Spezifikation
Temporal
# sec-temporal-plainmonthday-constructor

Browser-Kompatibilität

Siehe auch