Temporal.PlainDateTime.compare()
靜態方法 Temporal.PlainDateTime.compare() 返回一個數字(-1、0 或 1),表示第一個日期時間早於、等於還是晚於第二個日期時間。這等同於先比較日期,然後在日期相同時再比較時間。
語法
js
Temporal.PlainDateTime.compare(dateTime1, dateTime2)
引數
dateTime1-
一個字串、物件或
Temporal.PlainDateTime例項,表示要比較的第一個日期時間。它使用與Temporal.PlainDateTime.from()相同的演算法轉換為Temporal.PlainDateTime物件。 dateTime2-
要比較的第二個日期時間,使用與
dateTime1相同的演算法轉換為Temporal.PlainDateTime物件。
返回值
如果 dateTime1 早於 dateTime2,則返回 -1;如果它們相同,則返回 0;如果 dateTime1 晚於 dateTime2,則返回 1。它們透過其底層的日期和時間值進行比較,並忽略其日曆。
示例
使用 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
比較不同日曆中的日期
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
對日期時間陣列進行排序
此 compare() 函式的目的是作為比較器,傳遞給 Array.prototype.sort() 和相關函式。
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" ]
規範
| 規範 |
|---|
| Temporal # sec-temporal.plaindatetime.compare |
瀏覽器相容性
載入中…