Temporal.ZonedDateTime.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.ZonedDateTime-Instanzen gibt ein neues Temporal.ZonedDateTime-Objekt zurück, das diesen Datum-Zeit-Wert um eine gegebene Dauer (in einer Form, die durch Temporal.Duration.from() konvertierbar ist) rückwärts bewegt darstellt.

Wenn Sie zwei Zeitstempel 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 Datum-Zeit-Wert subtrahiert werden soll. Sie wird mit demselben 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 gültigen Bereichs liegt. Mögliche Werte sind:

"constrain" (Standard)

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

"reject"

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

Rückgabewert

Ein neues Temporal.ZonedDateTime-Objekt, das das durch das ursprüngliche ZonedDateTime angegebene Datum-Zeit minus der Dauer darstellt.

Ausnahmen

RangeError

Wird ausgelöst, wenn das Ergebnis nicht im darstellbaren Bereich liegt, der ±108 Tage oder etwa ±273.972,6 Jahre vom Unix-Epoch umfasst.

Beschreibung

Eine Dauer zu subtrahieren ist gleichbedeutend mit dem Hinzufügen ihrer Negation, daher gelten alle gleichen Überlegungen.

Beispiele

Eine Dauer subtrahieren

js
const start = Temporal.ZonedDateTime.from(
  "2021-01-01T12:34:56-05:00[America/New_York]",
);
const end = start.subtract({
  years: 1,
  months: 2,
  weeks: 3,
  days: 4,
  hours: 5,
  minutes: 6,
  seconds: 7,
  milliseconds: 8,
});
console.log(end.toString()); // 2019-10-07T07:28:48.992-04:00[America/New_York]

Spezifikationen

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

Browser-Kompatibilität

Siehe auch