Temporal.PlainDate.prototype.eraYear
eraYear 訪問器屬性是 Temporal.PlainDate 例項的屬性,它返回一個非負整數,表示此日期在其所屬紀年中對應的年份,如果日曆不使用紀年(例如 ISO 8601),則返回 undefined。年份索引通常從 1(更常見)或 0 開始,並且紀年中的年份可能隨時間遞減(例如,格里高利曆的公元前)。era 和 eraYear 一起可以唯一地標識日曆中的一年,就像 year 一樣。它取決於 日曆。
與 year 不同,era 和 eraYear 可能會在日曆年中間發生變化。例如,日本於 2019 年 5 月 1 日開始了令和時代,因此從 2019-01-01 到 2019-04-30 的日期具有 { era: "heisei", eraYear: 31 },而從 2019-05-01 開始的日期具有 { era: "reiwa", eraYear: 1 },但 year 始終是 2019(因為日本日曆預設使用 ISO 8601 年作為年份)。
eraYear 的設定訪問器為 undefined。您無法直接更改此屬性。請使用 with() 方法來建立一個具有所需新值的 Temporal.PlainDate 新物件。
示例
使用 eraYear
js
const date = Temporal.PlainDate.from("2021-07-01"); // ISO 8601 calendar
console.log(date.eraYear); // undefined
const date2 = Temporal.PlainDate.from("2021-07-01[u-ca=gregory]");
console.log(date2.eraYear); // 2021
const date3 = Temporal.PlainDate.from("-002021-07-01[u-ca=gregory]");
console.log(date3.eraYear); // 2022; 0000 is used for the year 1 BC
const date4 = Temporal.PlainDate.from("2021-07-01[u-ca=japanese]");
console.log(date4.eraYear); // 3
更改 eraYear
您只能為支援 eraYear 的日曆設定它。例如,ISO 8601 日曆沒有紀年。請注意,您必須同時提供 era 和 eraYear。
js
const date = Temporal.PlainDate.from("2021-07-01[u-ca=gregory]");
const newDate = date.with({ era: "bc", eraYear: 100 });
console.log(newDate.toString()); // -000099-07-01[u-ca=gregory]
const date2 = Temporal.PlainDate.from("2021-07-01[u-ca=japanese]");
const newDate2 = date2.with({ era: "meiji", eraYear: 1 });
console.log(newDate2.toString()); // 1868-07-01[u-ca=japanese]
規範
| 規範 |
|---|
| Temporal # sec-get-temporal.plaindate.prototype.erayear |
瀏覽器相容性
載入中…