Temporal.Instant.compare()

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

靜態方法 Temporal.Instant.compare() 返回一個數字(-1、0 或 1),指示第一個瞬間是否早於、等於或晚於第二個瞬間。它等同於比較兩個瞬間的 epochNanoseconds

語法

js
Temporal.Instant.compare(instant1, instant2)

引數

instant1

一個字串或一個 Temporal.Instant 例項,表示要比較的第一個瞬間。它使用與 Temporal.Instant.from() 相同的演算法轉換為 Temporal.Instant 物件。

instant2

要比較的第二個瞬間,使用與 instant1 相同的演算法轉換為 Temporal.Instant 物件。

返回值

如果 instant1 早於 instant2,則返回 -1;如果它們相等,則返回 0;如果 instant1 晚於 instant2,則返回 1

示例

使用 Temporal.Instant.compare()

js
const instant1 = Temporal.Instant.from("2021-08-01T12:34:56Z");
const instant2 = Temporal.Instant.from("2021-08-01T12:34:56Z");

console.log(Temporal.Instant.compare(instant1, instant2)); // 0

const instant3 = Temporal.Instant.from("2021-08-01T13:34:56Z");
console.log(Temporal.Instant.compare(instant1, instant3)); // -1

對瞬間陣列進行排序

compare() 函式的目的是作為比較器,傳遞給 Array.prototype.sort() 和相關函式。

js
const instants = [
  Temporal.Instant.from("2021-08-01T12:34:56Z"),
  Temporal.Instant.from("2021-08-01T12:34:56+01:00"),
  Temporal.Instant.from("2021-08-01T12:34:56-01:00"),
];

instants.sort(Temporal.Instant.compare);
console.log(instants.map((instant) => instant.toString()));
// [ '2021-08-01T11:34:56Z', '2021-08-01T12:34:56Z', '2021-08-01T13:34:56Z' ]

規範

規範
Temporal
# sec-temporal.instant.compare

瀏覽器相容性

另見