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, der um eine gegebene Dauer (in einer Form, die durch Temporal.Duration.from() konvertierbar ist) rückwärts verschoben wurde.

Wenn Sie zwei Jahr-Monate subtrahieren und eine Dauer erhalten möchten, 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. Sie wird in ein Temporal.Duration-Objekt mit demselben Algorithmus wie Temporal.Duration.from() konvertiert.

options Optional

Ein Objekt mit der folgenden Eigenschaft:

overflow Optional

Ein String, der das Verhalten angibt, wenn eine Datumskomponente außerhalb des Bereichs liegt. Mögliche Werte sind:

"constrain" (Standard)

Die Datumskomponente wird eingeschränkt auf den gültigen Bereich.

"reject"

Ein RangeError wird ausgelöst, wenn die Datumskomponente außerhalb des Bereichs liegt.

Rückgabewert

Ein neues Temporal.PlainYearMonth-Objekt, das den ursprünglich angegebenen Jahr-Monat minus der Dauer darstellt.

Ausnahmen

RangeError

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

Beschreibung

Das Subtrahieren einer Dauer ist gleichbedeutend mit dem Addieren ihrer Negation, daher gelten alle gleichen Überlegungen. Das Subtrahieren einer positiven Dauer beginnt am Ende des Jahr-Monats und bewegt sich rückwärts, sodass jeder Zuwachs kleiner als die Monatslänge ignoriert wird.

Beispiele

Subtrahieren einer Dauer

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
# sec-temporal.plainyearmonth.prototype.subtract

Browser-Kompatibilität

Siehe auch