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

Diese Methode führt other - this aus. Um this - other zu tun, verwenden Sie die since() Methode.

Syntax

js
until(other)
until(other, options)

Parameter

other

Ein String, ein Objekt oder eine Temporal.PlainDateTime Instanz, die einen Datum-Zeitpunkt darstellt, von dem dieser Datum-Zeitpunkt subtrahiert wird. Es wird mit demselben Algorithmus in ein Temporal.PlainDateTime Objekt umgewandelt wie Temporal.PlainDateTime.from(). Es muss denselben Kalender wie this haben.

options Optional

Dieselben Optionen wie since().

Rückgabewert

Ein neues Temporal.Duration Objekt, das die Dauer von diesem Datum-Zeitpunkt bis zu other darstellt. Die Dauer ist positiv, wenn other nach diesem Datum-Zeitpunkt liegt, und negativ, wenn davor.

Ausnahmen

RangeError

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

  • other hat einen anderen Kalender als this.
  • Eine der Optionen ist ungültig.

Beispiele

Verwendung von until()

js
let nextBilling = Temporal.PlainDateTime.from({
  year: Temporal.Now.plainDateISO().year,
  month: 4,
  day: 1,
});
const now = Temporal.Now.plainDateTimeISO().round("second");
if (Temporal.PlainDateTime.compare(nextBilling, now) < 0) {
  nextBilling = nextBilling.add({ years: 1 });
}
const duration = now.until(nextBilling);
console.log(`${duration.toLocaleString("en-US")} until next billing`);

Für weitere Beispiele siehe since().

Spezifikationen

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

Browser-Kompatibilität

Siehe auch