Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

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

js
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 info n'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.
TypeError

Levée dans l'un des cas suivants :

  • info n'est pas un objet ou une chaîne de caractères.
  • Toutes les propriétés reconnues dans l'objet info sont undefined.

Exemples

Créer une durée à partir d'un objet

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"

// 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

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

Créer une durée à partir d'une autre durée

js
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