Temporal.PlainYearMonth
Temporal.PlainYearMonth 物件表示日曆日期的年份和月份,不包含日期或時區;例如,日曆上整個月發生的事件。它在根本上表示為 ISO 8601 日曆日期,具有年、月和日欄位,以及關聯的日曆系統。該日期用於消除非 ISO 日曆系統中年月日的歧義。
描述
PlainYearMonth 本質上是 Temporal.PlainDate 物件的年月部分,不包含日期。
RFC 9557 格式
PlainYearMonth 物件可以使用 RFC 9557 格式進行序列化和解析,該格式是 ISO 8601 / RFC 3339 格式的擴充套件。字串具有以下形式(空格僅為可讀性而存在,不應出現在實際字串中):
YYYY-MM-DD [u-ca=calendar_id]
YYYY-
一個四位數,或者一個帶
+或-號的六位數。 MM-
一個從
01到12的兩位數。 DD可選-
一個兩位數,從
01到31。對於非 ISO 日曆是必需的,否則是可選的。如果省略,字串看起來像YYYY-MM或YYYYMM。請注意,實際儲存的參考日期可能與您提供的不同,但所表示的年月是相同的。有關更多資訊,請參閱Temporal.PlainYearMonth.from()。YYYY、MM和DD元件可以使用-或不使用任何分隔符。 [u-ca=calendar_id]可選-
將
calendar_id替換為要使用的日曆。有關常用支援的日曆型別列表,請參閱Intl.supportedValuesOf()。預設為[u-ca=iso8601]。可以透過在鍵前加!來新增關鍵標誌:例如[!u-ca=iso8601]。這個標誌通常告訴其他系統,如果它們不支援它,就不能忽略它。如果註解包含兩個或多個日曆註解且其中一個是關鍵的,Temporal解析器將丟擲錯誤。請注意,YYYY-MM-DD始終被解釋為 ISO 8601 日曆日期,然後轉換為指定的日曆。
作為輸入,你可以選擇性地包含時間、偏移量和時區識別符號,格式與 PlainDateTime 相同,但它們將被忽略。[key=value] 格式的其他註解也將被忽略,且它們不得帶有關鍵標誌。
序列化時,你可以配置是否顯示日曆 ID,以及是否為其新增關鍵標誌。
建構函式
Temporal.PlainYearMonth()實驗性-
透過直接提供底層資料來建立新的
Temporal.PlainYearMonth物件。
靜態方法
Temporal.PlainYearMonth.compare()實驗性-
返回一個數字(-1、0 或 1),指示第一個年月是早於、等於還是晚於第二個年月。等同於比較其底層 ISO 8601 日期。如果兩個不同日曆的年月在相同的 ISO 日期開始,則可能被視為相等。
Temporal.PlainYearMonth.from()實驗性-
從另一個
Temporal.PlainYearMonth物件、一個具有年和月屬性的物件或一個 RFC 9557 字串建立新的Temporal.PlainYearMonth物件。
例項屬性
這些屬性在 Temporal.PlainYearMonth.prototype 上定義,並由所有 Temporal.PlainYearMonth 例項共享。
Temporal.PlainYearMonth.prototype.calendarId實驗性-
返回一個字串,表示用於解釋內部 ISO 8601 日期的日曆。
Temporal.PlainYearMonth.prototype.constructor-
建立例項物件的建構函式。對於
Temporal.PlainYearMonth例項,初始值是Temporal.PlainYearMonth()建構函式。 Temporal.PlainYearMonth.prototype.daysInMonth實驗性-
返回一個正整數,表示此日期所在月份的天數。依賴於日曆。
Temporal.PlainYearMonth.prototype.daysInYear實驗性-
返回一個正整數,表示此日期所在年份的天數。依賴於日曆。對於 ISO 8601 日曆,這是 365,閏年是 366。
Temporal.PlainYearMonth.prototype.era實驗性-
返回一個日曆特定的、小寫字串,表示此年月的紀元,如果日曆不使用紀元(例如 ISO 8601),則返回
undefined。era和eraYear一起唯一標識日曆中的一年,就像year一樣。日曆依賴。對於公曆,它是"gregory"或"gregory-inverse"。 Temporal.PlainYearMonth.prototype.eraYear實驗性-
返回一個非負整數,表示此年月在紀元中的年份,如果日曆不使用紀元(例如 ISO 8601),則返回
undefined。年份索引通常從 1(更常見)或 0 開始,紀元中的年份可以隨時間遞減(例如,公曆 BCE)。era和eraYear一起唯一標識日曆中的一年,就像year一樣。日曆依賴。 Temporal.PlainYearMonth.prototype.inLeapYear實驗性-
返回一個布林值,指示此年月是否在閏年。閏年是指比普通年多幾天(由於閏日或閏月)的年份。日曆依賴。
Temporal.PlainYearMonth.prototype.month實驗性-
返回一個正整數,表示此年月在一年中的基於 1 的月份索引。這一年的第一個月是
1,最後一個月是monthsInYear。日曆依賴。請注意,與Date.prototype.getMonth()不同,該索引是基於 1 的。如果日曆有閏月,則具有相同monthCode的月份可能在不同年份具有不同的month索引。 Temporal.PlainYearMonth.prototype.monthCode實驗性-
返回一個日曆特定的字串,表示此年月的月份。日曆依賴。通常是
M加上兩位數的月份編號。對於閏月,它是前一個月份的程式碼後跟L。如果閏月是該年的第一個月,則程式碼是M00L。 Temporal.PlainYearMonth.prototype.monthsInYear實驗性-
返回一個正整數,表示此日期所在年份的月份數。依賴於日曆。對於 ISO 8601 日曆,這總是 12,但在其他日曆系統中可能會有所不同。
Temporal.PlainYearMonth.prototype.year實驗性-
返回一個整數,表示此年月相對於日曆特定紀元年開始的年份數。日曆依賴。通常,第 1 年是最新紀元的第一年或 ISO 8601 年
0001。如果紀元在年中,則該年在紀元開始日期前後將具有相同的值。 Temporal.PlainYearMonth.prototype[Symbol.toStringTag]-
Symbol.toStringTag屬性的初始值是字串"Temporal.PlainYearMonth"。此屬性用於Object.prototype.toString()。
例項方法
Temporal.PlainYearMonth.prototype.add()實驗性-
返回一個新的
Temporal.PlainYearMonth物件,表示此年月按給定持續時間(以可由Temporal.Duration.from()轉換的形式)向前移動。 Temporal.PlainYearMonth.prototype.equals()實驗性-
如果此年月的值等同於另一個年月(以可由
Temporal.PlainYearMonth.from()轉換的形式),則返回true,否則返回false。它們透過其底層 ISO 日期值和日曆進行比較,因此兩個不同日曆的年月可能被Temporal.PlainYearMonth.compare()視為相等,但不能被equals()視為相等。 Temporal.PlainYearMonth.prototype.since()實驗性-
返回一個新的
Temporal.Duration物件,表示從另一個年月(以可由Temporal.PlainYearMonth.from()轉換的形式)到此年月的持續時間。如果另一個月份在此月份之前,則持續時間為正,如果之後,則為負。 Temporal.PlainYearMonth.prototype.subtract()實驗性-
返回一個新的
Temporal.PlainYearMonth物件,表示此年月按給定持續時間(以可由Temporal.Duration.from()轉換的形式)向後移動。 Temporal.PlainYearMonth.prototype.toJSON()實驗性-
返回一個字串,以與呼叫
toString()相同的 RFC 9557 格式表示此年月。旨在由JSON.stringify()隱式呼叫。 Temporal.PlainYearMonth.prototype.toLocaleString()實驗性-
返回此年月的語言敏感表示的字串。
Temporal.PlainYearMonth.prototype.toPlainDate()實驗性-
返回一個新的
Temporal.PlainDate物件,表示此年月和在相同日曆系統中提供的日期。 Temporal.PlainYearMonth.prototype.toString()實驗性-
返回一個字串,以 RFC 9557 格式表示此年月。
Temporal.PlainYearMonth.prototype.until()實驗性-
返回一個新的
Temporal.Duration物件,表示從此年月到另一個年月(以可由Temporal.PlainYearMonth.from()轉換的形式)的持續時間。如果另一個月份在此月份之後,則持續時間為正,如果之前,則為負。 Temporal.PlainYearMonth.prototype.valueOf()實驗性-
丟擲
TypeError,這會阻止Temporal.PlainYearMonth例項在算術或比較操作中 隱式轉換為原始值。 Temporal.PlainYearMonth.prototype.with()實驗性-
返回一個新的
Temporal.PlainYearMonth物件,表示此年月的一些欄位被新值替換。
規範
| 規範 |
|---|
| Temporal # sec-temporal-plainyearmonth-objects |
瀏覽器相容性
載入中…