Temporal.PlainDateTime.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.PlainDateTime.compare() gibt eine Zahl (-1, 0 oder 1) zurück, die angibt, ob das erste Datum/Uhrzeit vor, gleich oder nach dem zweiten Datum/Uhrzeit liegt. Dies entspricht dem zuerst Vergleich der Daten, gefolgt vom Vergleich der Uhrzeiten, wenn die Daten gleich sind.

Syntax

js
Temporal.PlainDateTime.compare(dateTime1, dateTime2)

Parameter

dateTime1

Ein String, ein Objekt oder eine Temporal.PlainDateTime Instanz, die das erste zu vergleichende Datum/Uhrzeit darstellt. Es wird mit demselben Algorithmus wie Temporal.PlainDateTime.from() in ein Temporal.PlainDateTime Objekt umgewandelt.

dateTime2

Das zweite zu vergleichende Datum/Uhrzeit, umgewandelt in ein Temporal.PlainDateTime Objekt unter Verwendung desselben Algorithmus wie dateTime1.

Rückgabewert

Gibt -1 zurück, wenn dateTime1 vor dateTime2 liegt, 0 wenn sie gleich sind und 1 wenn dateTime1 nach dateTime2 liegt. Sie werden anhand ihrer zugrunde liegenden Datums- und Zeitwerte verglichen, wobei ihre Kalender ignoriert werden.

Beispiele

Verwendung von Temporal.PlainDateTime.compare()

js
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

Vergleich von Daten in unterschiedlichen Kalendern

js
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

Sortieren eines Arrays von Datum/Uhrzeiten

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

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

Spezifikationen

Specification
Temporal
# sec-temporal.plaindatetime.compare

Browser-Kompatibilität

Siehe auch