Temporal.PlainYearMonth.prototype.subtract()

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.

Die subtract()-Methode von Temporal.PlainYearMonth-Instanzen gibt ein neues Temporal.PlainYearMonth-Objekt zurück, das diesen Jahr-Monat darstellt, rückwärts bewegt um eine angegebene Dauer (in einer Form, die von Temporal.Duration.from() umwandelbar ist).

Wenn Sie zwei Jahr-Monate subtrahieren möchten und eine Dauer erhalten wollen, verwenden Sie stattdessen since() oder until().

Syntax

js
subtract(duration)
subtract(duration, options)

Parameter

duration

Ein String, ein Objekt oder eine Temporal.Duration-Instanz, die eine Dauer darstellt, die von diesem Jahr-Monat subtrahiert werden soll. Es wird mithilfe desselben Algorithmus wie Temporal.Duration.from() in ein Temporal.Duration-Objekt umgewandelt.

options Optional

Ein Objekt, das folgende Eigenschaft enthält:

overflow Optional

Ein String, der das Verhalten angibt, wenn eine Datums-Komponente außerhalb des gültigen Bereichs liegt. Mögliche Werte sind:

"constrain" (Standard)

Die Datums-Komponente wird auf den gültigen Bereich beschränkt (clamped).

"reject"

Es wird ein RangeError ausgelöst, wenn die Datums-Komponente außerhalb des Bereichs liegt.

Rückgabewert

Ein neues Temporal.PlainYearMonth-Objekt, das den durch das ursprüngliche PlainYearMonth spezifizierten Jahr-Monat minus der Dauer darstellt.

Ausnahmen

RangeError

Wird ausgelöst, wenn das Ergebnis nicht im darstellbaren Bereich liegt, welcher ±(108 + 1) Tage oder etwa ±273.972,6 Jahre ab der Unix-Epoche umfasst.

Beschreibung

Das Subtrahieren einer Dauer entspricht dem Hinzufügen ihrer Negation, daher gelten dieselben Überlegungen. Das Subtrahieren einer positiven Dauer beginnt am Ende des Jahr-Monats und bewegt sich rückwärts, sodass jedes Inkrement, das kleiner als die Länge des Monats ist, ignoriert wird.

Beispiele

Eine Dauer subtrahieren

js
const start = Temporal.PlainYearMonth.from("2022-01");
const end = start.subtract({ years: 1, months: 2, weeks: 3, days: 4 });
console.log(end.toString()); // 2020-11

Weitere Beispiele finden Sie unter add().

Spezifikationen

Specification
Temporal proposal
# sec-temporal.plainyearmonth.prototype.subtract

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch