Spec-Zone.ru › JavaScript

Temporal.PlainDateTime.compare()

Базовый уровень Ограниченная доступность

Эта функция не является базовой, потому что она не работает в некоторых из наиболее широко используемых браузеров.

Статический метод Temporal.PlainDateTime.compare() возвращает число (-1, 0 или 1), указывающее, предшествует ли первая дата/время второй, совпадает ли с ней или следует за ней. Эквивалентно сравнению сначала их дат, а затем сравнению их времени, если даты совпадают.

Синтаксис

Temporal.PlainDateTime.compare(dateTime1, dateTime2)

Параметры

dateTime1
Строка, объект или экземпляр Temporal.PlainDateTime, представляющий первую дату/время для сравнения. Он преобразуется в объект Temporal.PlainDateTime с использованием того же алгоритма, что и Temporal.PlainDateTime.from().
dateTime2
Вторая дата/время для сравнения, преобразованная в объект Temporal.PlainDateTime с использованием того же алгоритма, что и dateTime1.

Возвращаемое значение

Возвращает -1, если dateTime1 предшествует dateTime2, 0, если они совпадают, и 1, если dateTime1 следует за dateTime2. Они сравниваются по их базовым значениям даты и времени, игнорируя их календари.

Примеры

Использование Temporal.PlainDateTime.compare()

const dt1 = Temporal.PlainDateTime.from("2021-08-01T01:00:00");
const dt2 = Temporal.PlainDateTime.from("2021-08-02T00:00:00");
console.log(Temporal.PlainDateTime.compare(dt1, dt2)); // -1

const dt3 = Temporal.PlainDateTime.from("2021-08-01T00:00:00");
console.log(Temporal.PlainDateTime.compare(dt1, dt3)); // 1

Сравнение дат в разных календарях

const dt1 = Temporal.PlainDateTime.from({ year: 2021, month: 8, day: 1 });
const dt2 = Temporal.PlainDateTime.from({
  year: 2021,
  month: 8,
  day: 1,
  calendar: "islamic-umalqura",
});
const dt3 = Temporal.PlainDateTime.from({
  year: 2021,
  month: 8,
  day: 1,
  calendar: "hebrew",
});
console.log(dt1.toString()); // "2021-08-01T00:00:00"
console.log(dt2.toString()); // "2582-12-17T00:00:00[u-ca=islamic-umalqura]"
console.log(dt3.toString()); // "-001739-04-06T00:00:00[u-ca=hebrew]"
console.log(Temporal.PlainDateTime.compare(dt1, dt2)); // -1
console.log(Temporal.PlainDateTime.compare(dt1, dt3)); // 1

Сортировка массива дат/времени

Назначение этой функции compare() — действовать как компаратор, который передается в Array.prototype.sort() и связанные с ним функции.

const dateTimes = [
  Temporal.PlainDateTime.from("2021-08-01"),
  Temporal.PlainDateTime.from("2021-08-02"),
  Temporal.PlainDateTime.from("2021-08-01T01:00:00"),
];

dateTimes.sort(Temporal.PlainDateTime.compare);
console.log(dateTimes.map((d) => d.toString()));
// [ "2021-08-01T00:00:00", "2021-08-01T01:00:00", "2021-08-02T00:00:00" ]

Спецификации

Спецификация
Temporal
# sec-temporal.plaindatetime.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.PlainDateTime
  • Temporal.PlainDateTime.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/PlainDateTime/compare

Spec-Zone.ru

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