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
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 wieTemporal.Duration.from()
in einTemporal.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
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 |