Temporal.ZonedDateTime.prototype.until()

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 until()-Methode von Temporal.ZonedDateTime-Instanzen gibt ein neues Temporal.Duration-Objekt zurück, das die Dauer von diesem Datum-Uhrzeit-Wert zu einem anderen Datum-Uhrzeit-Wert (in einer Form, die durch Temporal.ZonedDateTime.from() konvertierbar ist) darstellt. Die Dauer ist positiv, wenn der andere Datum-Uhrzeit-Wert nach diesem liegt, und negativ, wenn er davor liegt.

Diese Methode berechnet other - this. Um this - other zu berechnen, verwenden Sie die Methode since().

Syntax

js
until(other)
until(other, options)

Parameter

other

Ein String, ein Objekt oder eine Temporal.ZonedDateTime-Instanz, die ein Datum-Uhrzeit-Wert darstellt, von dem dieser Datum-Uhrzeit-Wert subtrahiert wird. Es wird mithilfe desselben Algorithmus zu einem Temporal.ZonedDateTime-Objekt konvertiert wie in Temporal.ZonedDateTime.from(). Es muss denselben Kalender wie this verwenden.

options Optional

Die gleichen Optionen wie bei since().

Rückgabewert

Ein neues Temporal.Duration-Objekt, das die Dauer von diesem Datum-Uhrzeit-Wert bis other darstellt. Die Dauer ist positiv, wenn other nach diesem Datum-Uhrzeit-Wert liegt, und negativ, wenn dies nicht der Fall ist.

Ausnahmen

RangeError

Wird in einem der folgenden Fälle ausgelöst:

  • other hat einen anderen Kalender als this.
  • Eine der Optionen ist ungültig.
  • other hat eine andere Zeitzone als this, und largestUnit ist "days" oder größer.

Beispiele

Verwendung von until()

js
const flight = Temporal.ZonedDateTime.from(
  "2024-12-21T13:31:00-05:00[America/New_York]",
);
const now = Temporal.Now.zonedDateTimeISO("America/New_York").round("second");
if (Temporal.ZonedDateTime.compare(flight, now) < 0) {
  console.error(
    "The flight is already in the past. The result may not make sense.",
  );
}
const duration = now.until(flight, { largestUnit: "days" });
console.log(`The flight is in ${duration.toLocaleString("en-US")}`);

Für weitere Beispiele siehe since().

Spezifikationen

Specification
Temporal proposal
# sec-temporal.zoneddatetime.prototype.until

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch