Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Temporal.PlainDate.compare()

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Die statische Methode Temporal.PlainDate.compare() gibt eine Zahl (-1, 0 oder 1) zurück, die angibt, ob das erste Datum vor, gleich oder nach dem zweiten Datum liegt. Dies entspricht dem Vergleich der Jahr-, Monat- und Tag-Felder der zugrunde liegenden ISO 8601-Daten.

Syntax

js
Temporal.PlainDate.compare(date1, date2)

Parameter

date1

Ein String, ein Objekt oder eine Temporal.PlainDate-Instanz, die das erste zu vergleichende Datum darstellt. Es wird mithilfe des gleichen Algorithmus wie Temporal.PlainDate.from() in ein Temporal.PlainDate-Objekt konvertiert.

date2

Das zweite Datum, das verglichen werden soll, wird mit dem gleichen Algorithmus wie date1 in ein Temporal.PlainDate-Objekt konvertiert.

Rückgabewert

Gibt -1 zurück, wenn date1 vor date2 liegt, 0 wenn sie gleich sind, und 1 wenn date1 nach date2 kommt. Sie werden anhand ihrer zugrunde liegenden Datumswerte verglichen, wobei ihre Kalender ignoriert werden.

Beispiele

Verwendung von Temporal.PlainDate.compare()

js
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

Vergleich von Daten in verschiedenen Kalendern

js
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

Sortieren eines Arrays von Daten

Der Zweck dieser compare()-Funktion besteht darin, als Vergleichsfunktion zu dienen, die an Array.prototype.sort() und verwandte Funktionen übergeben wird.

js
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]" ]

Spezifikationen

Specification
Temporal
# sec-temporal.plaindate.compare

Browser-Kompatibilität

Siehe auch