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

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. Es wird mit demselben Algorithmus in ein Temporal.Duration Objekt konvertiert wie Temporal.Duration.from().

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

"reject"

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

Rückgabewert

Ein neues Temporal.ZonedDateTime Objekt, das den Datum-Uhrzeit-Wert des ursprünglichen ZonedDateTime, minus der Dauer, repräsentiert.

Ausnahmen

RangeError

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

Beschreibung

Das Subtrahieren einer Dauer entspricht dem Addieren ihrer Negation, daher gelten alle gleichen Überlegungen.

Beispiele

Subtrahieren einer Dauer

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