Temporal.Duration : méthode statique from()
Disponibilité limitée
Cette fonctionnalité n'est pas Compatible car elle ne fonctionne pas dans certains des navigateurs les plus utilisés.
La méthode statique from() des instances de Temporal.Duration crée un nouvel objet Temporal.Duration à partir d'un autre objet Temporal.Duration, d'un objet avec des propriétés de durée ou d'une chaîne de caractères ISO 8601.
Syntaxe
Temporal.Duration.from(info)
Paramètres
info-
L'un des éléments suivants :
-
Une instance de
Temporal.Duration, ce qui crée une copie de l'instance. -
Une chaîne de caractères ISO 8601 représentant une durée.
-
Un objet contenant au moins l'une des propriétés suivantes (dans l'ordre où elles sont récupérées et validées) :
Chaque propriété doit contenir une valeur numérique entière. La durée résultante ne doit pas avoir de signes mixtes, donc toutes ces propriétés doivent avoir le même signe (ou zéro). Les propriétés manquantes sont traitées comme zéro.
-
Valeur de retour
Un nouvel objet Temporal.Duration, éventuellement déséquilibré, avec les composants définis.
Exceptions
RangeError-
Levée dans l'un des cas suivants :
- L'une des propriétés reconnues dans l'objet
infon'est pas un entier (y compris les valeurs non finies). - Une unité de calendrier (années, mois, semaines) a une valeur absolue ≥ 232.
- La partie non calendaire de la durée (jours et au-dessous), lorsqu'elle est exprimée en secondes, a une valeur absolue ≥ 253.
- L'une des propriétés reconnues dans l'objet
TypeError-
Levée dans l'un des cas suivants :
infon'est pas un objet ou une chaîne de caractères.- Toutes les propriétés reconnues dans l'objet
infosontundefined.
Exemples
>Créer une durée à partir d'un objet
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"
// Peu courant car déséquilibré, mais valide
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"
Créer une durée à partir d'une chaîne de caractères
const d = Temporal.Duration.from("P1Y2M3W4DT5H6M7.00800901S");
console.log(d.hours); // 5
Créer une durée à partir d'une autre durée
const d1 = Temporal.Duration.from({ hours: 1, minutes: 30 });
const d2 = Temporal.Duration.from(d1);
console.log(d2.toString()); // "PT1H30M"
Spécifications
| Spécification |
|---|
| Temporal> # sec-temporal.duration.from> |
Compatibilité des navigateurs
Voir aussi
- L'objet
Temporal.Duration - Le constructeur
Temporal.Duration() - La méthode
Temporal.Duration.prototype.with()