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