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

Wenn Sie zwei Datum-Uhrzeit-Werte 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-Uhrzeit-Wert subtrahiert werden soll. Sie wird mit dem gleichen Algorithmus wie Temporal.Duration.from() in ein Temporal.Duration Objekt umgewandelt.

options Optional

Ein Objekt mit der folgenden Eigenschaft:

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 begrenzt.

"reject"

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

Rückgabewert

Ein neues Temporal.PlainDateTime Objekt, das das Datum-Uhrzeit darstellt, das durch das ursprüngliche PlainDateTime minus der Dauer spezifiziert wurde.

Ausnahmen

RangeError

Wird ausgelöst, wenn das Ergebnis außerhalb des darstellbaren Bereichs liegt, der ±(108 + 1) Tage oder etwa ±273.972,6 Jahre vom Unix-Epoch-Datum umfasst.

Beschreibung

Das Subtrahieren einer Dauer ist gleichbedeutend mit dem Addieren ihrer Negation, daher gelten dieselben Überlegungen.

Beispiele

Subtrahieren einer Dauer

js
const start = Temporal.PlainDateTime.from("2022-01-01T12:34:56");
const end = start.subtract({
  years: 1,
  months: 2,
  weeks: 3,
  days: 4,
  hours: 5,
  minutes: 6,
  seconds: 7,
  milliseconds: 8,
});
console.log(end.toString()); // 2020-10-07T07:28:48.992

Spezifikationen

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

Browser-Kompatibilität

Siehe auch