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 add()

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 add() des instances de Temporal.Duration retourne un nouvel objet Temporal.Duration avec la somme de cette durée et d'une durée donnée. Le résultat est équilibré.

Syntaxe

js
add(other)

Paramètres

other

Une chaîne de caractères, un objet ou une instance de Temporal.Duration représentant une durée à ajouter à cette durée. Elle est convertie en objet Temporal.Duration en utilisant le même algorithme que Temporal.Duration.from().

Valeur de retour

Un nouvel objet Temporal.Duration représentant la somme de cette durée et de other.

Exceptions

RangeError

Levée dans l'un des cas suivants :

  • Soit this soit other est une durée de calendrier (elle a des years, months ou weeks non nuls), car les durées de calendrier sont ambiguës sans calendrier et référence temporelle.
  • La somme de this et other dépasse la durée maximale ou minimale représentable, qui est ±253 secondes.

Description

Des durées non-calendaires représentent de manière non ambiguë une quantité de temps fixe. En interne, this et other sont tous deux convertis en nanosecondes (en supposant des jours de 24 heures) et additionnés. Le résultat est ensuite reconverti en objet Temporal.Duration, de sorte que le résultat est toujours équilibré ou surchargé avec l'unité la plus grande possible étant days.

Si vous souhaitez effectuer une addition ou une soustraction avec une durée de calendrier, vous pouvez ajouter les deux durées à un point de départ, puis calculer la différence entre les deux instants résultants ; c'est-à-dire que dur1 + dur2 est équivalent à (start + dur1 + dur2) - start.

Pour ajouter une durée à une date ou une heure, utilisez plutôt la méthode add() de l'objet date ou heure.

Exemples

Utiliser la méthode add()

js
const d1 = Temporal.Duration.from({ hours: 1, minutes: 30 });
const d2 = Temporal.Duration.from({ hours: -1, minutes: -20 });

const d3 = d1.add(d2);
console.log(d3.toString()); // "PT10M"

Ajouter des durées de calendrier

js
const d1 = Temporal.Duration.from({ days: 1 });
const d2 = Temporal.Duration.from({ months: 1 });

d1.add(d2); // RangeError: for calendar duration arithmetic, use date arithmetic relative to a starting point

const start = Temporal.PlainDateTime.from("2022-01-01T00:00"); // ISO 8601 calendar
const result = start.add(d1).add(d2).since(start);
console.log(result.toString()); // "P32D"

Spécifications

Spécification
Temporal
# sec-temporal.duration.prototype.add

Compatibilité des navigateurs

Voir aussi