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
Temporal.Duration.from(info)
Parameter
info
-
Eines der folgenden:
-
Eine
Temporal.Duration
Instanz, die eine Kopie der Instanz erstellt. -
Ein ISO 8601-String, der eine Dauer darstellt.
-
Ein Objekt, das mindestens eine der folgenden Eigenschaften enthält (in der Reihenfolge, in der sie abgerufen und validiert werden):
Jede Eigenschaft sollte einen ganzzahligen Zahlenwert enthalten. Die resultierende Dauer darf keine gemischten Vorzeichen haben, daher müssen alle diese Eigenschaften das gleiche Vorzeichen (oder Null) aufweisen. Fehlende Eigenschaften werden als Null behandelt.
-
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.
- Eine der erkannten Eigenschaften im
TypeError
-
Wird in einem der folgenden Fälle ausgelöst:
info
ist kein Objekt oder String.- Alle anerkannten Eigenschaften im
info
Objekt sindundefined
.
Beispiele
Erstellen einer Dauer aus einem Objekt
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
const d = Temporal.Duration.from("P1Y2M3W4DT5H6M7.00800901S");
console.log(d.hours); // 5
Erstellen einer Dauer aus einer anderen Dauer
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