Temporal.PlainDate.compare()
Базовая Доступность ограничена
Эта функция не является базовой, поскольку она не работает в некоторых наиболее широко используемых браузерах.
Статический метод Temporal.PlainDate.compare() возвращает число (-1, 0 или 1), указывающее, предшествует ли первая дата второй, совпадает ли с ней или следует после нее. Эквивалентно сравнению полей года, месяца и дня лежащих в основе дат ISO 8601.
Синтаксис
Temporal.PlainDate.compare(date1, date2)
Параметры
-
date1 - Строка, объект или экземпляр
Temporal.PlainDate, представляющий первую дату для сравнения. Он преобразуется в объектTemporal.PlainDateс использованием того же алгоритма, что иTemporal.PlainDate.from(). -
date2 - Вторая дата для сравнения, преобразованная в объект
Temporal.PlainDateс использованием того же алгоритма, что иdate1.
Возвращаемое значение
Возвращает -1, если date1 предшествует date2, 0, если они совпадают, и 1, если date1 следует после date2. Сравнение производится по их базовым значениям даты, игнорируя их календари.
Примеры
Использование Temporal.PlainDate.compare()
const date1 = Temporal.PlainDate.from("2021-08-01");
const date2 = Temporal.PlainDate.from("2021-08-02");
console.log(Temporal.PlainDate.compare(date1, date2)); // -1
const date3 = Temporal.PlainDate.from("2021-07-31");
console.log(Temporal.PlainDate.compare(date1, date3)); // 1
Сравнение дат в разных календарях
const date1 = Temporal.PlainDate.from({ year: 2021, month: 8, day: 1 });
const date2 = Temporal.PlainDate.from({
year: 2021,
month: 8,
day: 1,
calendar: "islamic-umalqura",
});
const date3 = Temporal.PlainDate.from({
year: 2021,
month: 8,
day: 1,
calendar: "hebrew",
});
console.log(date1.toString()); // "2021-08-01"
console.log(date2.toString()); // "2582-12-17[u-ca=islamic-umalqura]"
console.log(date3.toString()); // "-001739-04-06[u-ca=hebrew]"
console.log(Temporal.PlainDate.compare(date1, date2)); // -1
console.log(Temporal.PlainDate.compare(date1, date3)); // 1
Сортировка массива дат
Цель этой функции compare() — действовать как компаратор, который будет передан Array.prototype.sort() и связанным функциям.
const dates = [
Temporal.PlainDate.from({ year: 2021, month: 8, day: 1 }),
Temporal.PlainDate.from({
year: 2021,
month: 8,
day: 1,
calendar: "islamic-umalqura",
}),
Temporal.PlainDate.from({ year: 2021, month: 8, day: 1, calendar: "hebrew" }),
];
dates.sort(Temporal.PlainDate.compare);
console.log(dates.map((d) => d.toString()));
// [ "-001739-04-06[u-ca=hebrew]", "2021-08-01", "2582-12-17[u-ca=islamic-umalqura]" ]
Спецификации
| Спецификация |
|---|
| Temporal # sec-temporal.plaindate.compare |
Совместимость с браузерами
| Настольные | Мобильные | Серверные | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on iOS | Samsung Internet | WebView Android | WebView on iOS | Bun | Deno | Node.js | |
compare |
144 |
144 |
139 |
128 |
preview |
144 |
139 |
95 |
No |
No |
144 |
No |
1.4.0 |
2.7 |
26.0.0 |
Смотрите также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal/PlainDate/compare