Temporal.PlainYearMonth()
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.PlainYearMonth() Konstruktor erstellt Temporal.PlainYearMonth Objekte.
Dieser Konstruktor ermöglicht es Ihnen, Instanzen zu erstellen, indem Sie die zugrunde liegenden Daten direkt angeben. Wie bei allen anderen Temporal-Klassen sollten Sie Temporal.PlainYearMonth-Objekte in der Regel mit der statischen Methode Temporal.PlainYearMonth.from() konstruieren, die eine Vielzahl von Eingabetypen verarbeiten kann.
Syntax
new Temporal.PlainYearMonth(year, month)
new Temporal.PlainYearMonth(year, month, calendar)
new Temporal.PlainYearMonth(year, month, calendar, referenceDay)
Hinweis:
Temporal.PlainYearMonth() kann nur mit new konstruiert werden. Der Versuch, es ohne new aufzurufen, wirft einen TypeError.
Warnung:
Vermeiden Sie die Verwendung der Parameter calendar und referenceDay, da equals() und compare() den Referenztag für den Vergleich heranziehen und zwei äquivalente Jahr-Monate als unterschiedlich betrachtet werden können, wenn sie verschiedene Referenztage haben. Um ein Temporal.PlainYearMonth-Objekt mit einem Nicht-ISO-Kalender zu erstellen, verwenden Sie die statische Methode Temporal.PlainYearMonth.from().
Parameter
yearOptional-
Eine Zahl, zu einem ganzzahligem Wert gekürzt, die das Jahr im ISO-Kalendersystem darstellt.
month-
Eine Zahl, zu einem ganzzahligem Wert gekürzt, die den Monat im ISO-Kalendersystem darstellt.
calendarOptional-
Ein String, der den zu verwendenden Kalender darstellt. Siehe
Intl.supportedValuesOf()für eine Liste der allgemein unterstützten Kalenderarten. Standard ist"iso8601". Beachten Sie, dass unabhängig vomcalendardasyear,month, undreferenceDayim ISO 8601-Kalendersystem sein müssen. referenceDay-
Eine Zahl, zu einem ganzzahligen Wert gekürzt, die den Tag des Monats im ISO-Kalendersystem darstellt. Standard ist
1. Dasselbe ISO Jahr-Monat kann mit Nicht-ISO-Kalendern auf verschiedenen Tagen unterschiedliche Monate darstellen. Zum Beispiel können die Tage 2021-07-01 und 2021-07-31 in unterschiedlichen Monaten in einem nicht-gregorianischen Kalender fallen, und allein die Angabe "2021-07" reicht nicht aus, um einen Monat im Zielkalender eindeutig zu bestimmen. Daher sollten Sie bei Verwendung eines Nicht-ISO-Kalenders fast immer einenreferenceDayangeben.
Rückgabewert
Ein neues Temporal.PlainYearMonth-Objekt, das das Jahr-Monat des durch year, month und referenceDay (im ISO-Kalender) angegebenen Datums darstellt, interpretiert im durch calendar angegebenen Kalendersystem.
Ausnahmen
TypeError-
Wird ausgelöst, wenn
calendarkein String oderundefinedist. RangeError-
Wird in einem der folgenden Fälle ausgelöst:
year,monthoderreferenceDayist keine endliche Zahl.- Die Kombination aus
year,monthundreferenceDaystellt kein gültiges Datum im ISO-Kalendersystem dar oder liegt nicht im darstellbaren Bereich, der ±(108 + 1) Tage oder etwa ±273,972.6 Jahre ab dem Unix-Epoch umfasst. calendarist kein gültiger Kalenderbezeichner.
Beispiele
>Verwendung von Temporal.PlainYearMonth()
const ym = new Temporal.PlainYearMonth(2021, 7);
console.log(ym.toString()); // 2021-07
const ym2 = new Temporal.PlainYearMonth(2021, 7, "chinese");
console.log(ym2.toString()); // 2021-07-01[u-ca=chinese]
const ym3 = new Temporal.PlainYearMonth(2021, 7, "chinese", 31);
console.log(ym3.toString()); // 2021-07-31[u-ca=chinese]
Unsachgemäße Verwendung
Sie sollten die Verwendung der Parameter calendar und referenceDay vermeiden, es sei denn, Sie wissen, dass der referenceDay der kanonische Referenztag ist, der von Temporal.PlainYearMonth.from() für dasselbe Jahr-Monat ausgewählt würde.
const ym = new Temporal.PlainYearMonth(2021, 7, "chinese", 1);
const ym2 = Temporal.PlainYearMonth.from("2021-07-01[u-ca=chinese]");
console.log(ym.equals(ym2)); // false
console.log(ym.toString()); // 2021-07-01[u-ca=chinese]
console.log(ym2.toString()); // 2021-06-10[u-ca=chinese]
Spezifikationen
| Specification |
|---|
| Temporal> # sec-temporal-plainyearmonth-constructor> |