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.ZonedDateTime : méthode subtract()

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 subtract() des instances de Temporal.ZonedDateTime retourne un nouvel objet Temporal.ZonedDateTime représentant cette date et heure reculée d'une durée donnée (sous une forme convertible par Temporal.Duration.from()).

Si vous souhaitez soustraire deux dates et heures et obtenir une durée, utilisez plutôt since() ou until().

Syntaxe

js
subtract(duration)
subtract(duration, options)

Paramètres

duration

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

options Facultatif

Un objet contenant la propriété suivante :

overflow Facultatif

Une chaîne de caractères définissant le comportement lorsque l'un des composants de la date est hors limites. Les valeurs possibles sont :

"constrain" (par défaut)

Le composant de date est restreint à la plage valide.

"reject"

Un objet RangeError est levé si le composant de date est hors limites.

Valeur de retour

Un nouvel objet Temporal.ZonedDateTime représentant la date et heure définie par l'original, moins la durée.

Exceptions

RangeError

Levée si le résultat n'est pas dans la plage représentable, soit ±108 jours, ou environ ±273 972,6 ans, à partir de l'époque Unix.

Description

Soustraire une durée équivaut à ajouter sa négation, toutes les considérations sont donc identiques.

Exemples

Soustraire une durée

js
const start = Temporal.ZonedDateTime.from(
  "2021-01-01T12:34:56-05:00[America/New_York]",
);
const end = start.subtract({
  years: 1,
  months: 2,
  weeks: 3,
  days: 4,
  hours: 5,
  minutes: 6,
  seconds: 7,
  milliseconds: 8,
});
console.log(end.toString()); // 2019-10-07T07:28:48.992-04:00[America/New_York]

Spécifications

Spécification
Temporal
# sec-temporal.zoneddatetime.prototype.subtract

Compatibilité des navigateurs

Voir aussi