Temporal.Duration.from()

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 statische Methode Temporal.Duration.from() erstellt ein neues Temporal.Duration-Objekt aus einem anderen Temporal.Duration-Objekt, einem Objekt mit Dauer-Eigenschaften oder einem ISO 8601-String.

Syntax

js
Temporal.Duration.from(info)

Parameter

info

Eines der folgenden:

Rückgabewert

Ein neues Temporal.Duration-Objekt, möglicherweise unausgeglichen, mit den angegebenen Komponenten.

Ausnahmen

RangeError

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

  • Eine der erkannten Eigenschaften im info Objekt ist keine ganze Zahl (einschließlich nicht-endlicher Werte).
  • Eine Kalendereinheit (Jahre, Monate, Wochen) hat einen absoluten Wert ≥ 232.
  • Der nicht-kalenderische Teil der Dauer (Tage und darunter), ausgedrückt in Sekunden, hat einen absoluten Wert ≥ 253.
TypeError

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

  • info ist kein Objekt oder String.
  • Alle anerkannten Eigenschaften im info Objekt sind undefined.

Beispiele

Erstellen einer Dauer aus einem Objekt

js
const d1 = Temporal.Duration.from({ hours: 1, minutes: 30 });
console.log(d1.toString()); // "PT1H30M"

const d2 = Temporal.Duration.from({ months: 1, days: 2 });
console.log(d2.toString()); // "P1M2D"

// Uncommon because unbalanced, but valid
const unbalanced = Temporal.Duration.from({
  hours: 100,
  minutes: 100,
  seconds: 100,
});
console.log(unbalanced.toString()); // "PT100H100M100S"

const neg = Temporal.Duration.from({ hours: -1, minutes: -30 });
console.log(neg.toString()); // "-PT1H30M"

Erstellen einer Dauer aus einem String

js
const d = Temporal.Duration.from("P1Y2M3W4DT5H6M7.00800901S");
console.log(d.hours); // 5

Erstellen einer Dauer aus einer anderen Dauer

js
const d1 = Temporal.Duration.from({ hours: 1, minutes: 30 });
const d2 = Temporal.Duration.from(d1);
console.log(d2.toString()); // "PT1H30M"

Spezifikationen

Specification
Temporal proposal
# sec-temporal.duration.from

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch