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.PlainYearMonth.prototype.subtract()

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

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

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 unter Verwendung desselben Algorithmus wie Temporal.Duration.from() in ein Temporal.Duration-Objekt konvertiert.

options Optional

Ein Objekt, das die folgende Eigenschaft enthält:

overflow Optional

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

"constrain" (Standardwert)

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

"reject"

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

Rückgabewert

Ein neues Temporal.PlainYearMonth-Objekt, das den Jahr-Monat darstellt, der durch das originale PlainYearMonth minus der Dauer angegeben ist.

Ausnahmen

RangeError

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

Beschreibung

Das Subtrahieren einer Dauer ist gleichbedeutend mit dem Addieren ihrer Negation, daher gelten die gleichen Überlegungen. Beim Subtrahieren einer positiven Dauer wird von Ende des Jahr-Monats rückwärts gearbeitet, sodass jede Erhöhung kleiner als die Länge des Monats 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

Für mehr Beispiele siehe add().

Spezifikationen

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

Browser-Kompatibilität

Siehe auch