Temporal.Duration.from()
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
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 eines 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 dasselbe Vorzeichen (oder null) haben. 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 anerkannten Eigenschaften im
info-Objekt ist keine Ganzzahl (einschließlich nicht-finaler 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 anerkannten Eigenschaften im
TypeError-
Wird in einem der folgenden Fälle ausgelöst:
infoist kein Objekt oder String.- Alle anerkannten Eigenschaften im
info-Objekt sindundefined.
Beispiele
>Erstellung 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"
Erstellung einer Dauer aus einem String
const d = Temporal.Duration.from("P1Y2M3W4DT5H6M7.00800901S");
console.log(d.hours); // 5
Erstellung 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> # sec-temporal.duration.from> |