Spec-Zone.ru › JavaScript

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

Смотрите также

  • Temporal.PlainDate
  • Temporal.PlainDate.prototype.equals()

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API