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

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
from
Experimental

Legend

Tip: you can click/tap on a cell for more information.

In development. Supported in a pre-release version.
In development. Supported in a pre-release version.
No support
No support
Experimental. Expect behavior to change in the future.
See implementation notes.
User must explicitly enable this feature.

Siehe auch