Temporal.PlainTime : méthode since()
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 since() des instances de Temporal.PlainTime retourne un nouvel objet Temporal.Duration représentant la durée écoulée depuis un autre moment (sous une forme convertible par Temporal.PlainTime.from()) jusqu'à ce moment. La durée est positive si l'autre moment est avant ce moment, et négative si après.
Cette méthode effectue this - other. Pour effectuer other - this, utilisez la méthode until().
Syntaxe
since(other)
since(other, options)
Paramètres
other-
Une chaîne de caractères, un objet ou une instance de
Temporal.PlainTimereprésentant un moment à soustraire de ce moment. Il est converti en un objetTemporal.PlainTimeen utilisant le même algorithme queTemporal.PlainTime.from(). optionsFacultatif-
Un objet contenant les options pour
Temporal.Duration.prototype.round(), qui inclutlargestUnit,roundingIncrement,roundingModeetsmallestUnit.largestUnitetsmallestUnitn'acceptent que les unités :"hours","minutes","seconds","milliseconds","microseconds","nanoseconds", ou leurs formes singulières. PourlargestUnit, la valeur par défaut"auto"signifie"hours". PoursmallestUnit, la valeur par défaut est"nanoseconds".
Valeur de retour
Un nouvel objet Temporal.Duration représentant la durée depuis other jusqu'à ce moment. La durée est positive si other est avant ce moment, et négative si après.
Exceptions
RangeError-
Levée si l'une des options est invalide.
Exemples
>Utiliser la méthode since()
const lunchTime = Temporal.PlainTime.from("12:30:00");
const now = Temporal.Now.plainTimeISO();
const duration = now.since(lunchTime);
console.log(`Vous avez déjeuné il y a ${duration.toLocaleString("fr-FR")}`);
// Sortie d'exemple : "Vous avez déjeuné il y a 3 h 42 min 21 s 343 ms 131 μs 718 ns"
const duration2 = now.since(lunchTime, { smallestUnit: "minutes" });
console.log(`Vous avez déjeuné il y a ${duration2.toLocaleString("fr-FR")}`);
// Sortie d'exemple : "Vous avez déjeuné il y a 3 h 42 min"
const duration3 = now.since(lunchTime, {
largestUnit: "minutes",
smallestUnit: "minutes",
});
console.log(`Vous avez déjeuné il y a ${duration3.toLocaleString("fr-FR")}`);
// Sortie d'exemple : "Vous avez déjeuné il y a 222 min"
Arrondir le résultat
Par défaut, la partie fractionnaire de smallestUnit est tronquée. Vous pouvez l'arrondir en utilisant les options roundingIncrement et roundingMode.
const time1 = Temporal.PlainTime.from("12:30:00");
const time2 = Temporal.PlainTime.from("12:30:01");
const duration = time2.since(time1, {
smallestUnit: "seconds",
roundingIncrement: 15,
roundingMode: "ceil",
});
console.log(duration.toString()); // "PT15S"
Spécifications
| Spécification |
|---|
| Temporal> # sec-temporal.plaintime.prototype.since> |
Compatibilité des navigateurs
Voir aussi
- L'objet
Temporal.PlainTime - L'objet
Temporal.Duration - La méthode
Temporal.PlainTime.prototype.add() - La méthode
Temporal.PlainTime.prototype.subtract() - La méthode
Temporal.PlainTime.prototype.until()