Temporal.PlainYearMonth : méthode statique compare()
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 Temporal.PlainYearMonth.compare() retourne un nombre (-1, 0 ou 1) qui indique si le mois et l'année de la première instance vient avant, est le même que, ou vient après le mois et l'année de la deuxième instance. Elle est équivalente à la comparaison de leurs dates ISO 8601 sous-jacentes. Deux mois et années provenant de calendriers différents peuvent être considérés comme égaux s'ils commencent à la même date ISO.
Note :
Les objets PlainYearMonth gardent une trace d'un jour de référence ISO, qui est également utilisé dans la comparaison. Ce jour est automatiquement défini lors de l'utilisation de la méthode Temporal.PlainYearMonth.from(), mais peut être défini manuellement en utilisant le constructeur Temporal.PlainYearMonth(), ce qui peut amener deux mois et années équivalents à être considérés comme différents s'ils ont des jours de référence différents. Pour cette raison, vous devriez éviter d'utiliser directement le constructeur et préférer la méthode from().
Syntaxe
Temporal.PlainYearMonth.compare(yearMonth1, yearMonth2)
Paramètres
yearMonth1-
Une chaîne de caractères, un objet ou une instance de
Temporal.PlainYearMonthreprésentant le premier mois de l'année à comparer. Il est converti en un objetTemporal.PlainYearMonthen utilisant le même algorithme queTemporal.PlainYearMonth.from(). yearMonth2-
Le deuxième mois de l'année à comparer, converti en un objet
Temporal.PlainYearMonthen utilisant le même algorithme queyearMonth1.
Valeur de retour
Retourne -1 si yearMonth1 vient avant yearMonth2, 0 s'ils sont identiques, et 1 si yearMonth1 vient après yearMonth2. Ils sont comparés par leurs valeurs de date sous-jacentes (généralement le premier jour du mois), en ignorant leurs calendriers.
Exemples
>Utiliser la méthode Temporal.PlainYearMonth.compare()
const ym1 = Temporal.PlainYearMonth.from("2021-08");
const ym2 = Temporal.PlainYearMonth.from("2021-09");
console.log(Temporal.PlainYearMonth.compare(ym1, ym2)); // -1
const ym3 = Temporal.PlainYearMonth.from("2021-07");
console.log(Temporal.PlainYearMonth.compare(ym1, ym3)); // 1
Comparer des mois d'années dans différents calendriers
const ym1 = Temporal.PlainYearMonth.from({ year: 2021, month: 8 });
const ym2 = Temporal.PlainYearMonth.from({
year: 2021,
month: 8,
calendar: "islamic-umalqura",
});
const ym3 = Temporal.PlainYearMonth.from({
year: 2021,
month: 8,
calendar: "hebrew",
});
console.log(ym1.toString()); // "2021-08"
console.log(ym2.toString()); // "2582-12-17[u-ca=islamic-umalqura]"
console.log(ym3.toString()); // "-001739-04-06[u-ca=hebrew]"
console.log(Temporal.PlainYearMonth.compare(ym1, ym2)); // -1
console.log(Temporal.PlainYearMonth.compare(ym1, ym3)); // 1
Trier un tableau de mois d'années
Le but de cette fonction compare() est d'agir comme un comparateur à passer à Array.prototype.sort() et aux fonctions associées.
const months = [
Temporal.PlainYearMonth.from({ year: 2021, month: 8 }),
Temporal.PlainYearMonth.from({
year: 2021,
month: 8,
calendar: "islamic-umalqura",
}),
Temporal.PlainYearMonth.from({ year: 2021, month: 8, calendar: "hebrew" }),
];
months.sort(Temporal.PlainYearMonth.compare);
console.log(months.map((d) => d.toString()));
// [ "-001739-04-06[u-ca=hebrew]", "2021-08", "2582-12-17[u-ca=islamic-umalqura]" ]
Spécifications
| Spécification |
|---|
| Temporal> # sec-temporal.plainyearmonth.compare> |
Compatibilité des navigateurs
Voir aussi
- L'objet
Temporal.PlainYearMonth - La méthode
Temporal.PlainYearMonth.prototype.equals()