Temporal.PlainDateTime
Temporal.PlainDateTime 物件表示沒有時區的日期(日曆日期)和時間(掛鐘時間)。它從根本上表示為日期(以及相關的日曆系統)和時間的組合。
描述
PlainDateTime 本質上是 Temporal.PlainDate 和 Temporal.PlainTime 的組合。由於日期和時間資訊之間沒有太多互動,因此所有關於日期屬性的一般資訊都記錄在 PlainDate 物件中,所有關於時間屬性的一般資訊都記錄在 PlainTime 物件中。
如果日期時間表示應在不同時區保持不變的特定瞬間,則應改用 Temporal.ZonedDateTime 物件。當需要表示在特定掛鐘時間發生的事件(該事件可能在不同時區是不同的瞬間)時,請使用 PlainDateTime。
RFC 9557 格式
PlainDateTime 物件可以使用 RFC 9557 格式進行序列化和解析,該格式是 ISO 8601 / RFC 3339 格式的擴充套件。該字串具有以下形式(空格僅用於可讀性,不應出現在實際字串中)
YYYY-MM-DD T HH:mm:ss.sssssssss [u-ca=calendar_id]
YYYY-
一個四位數,或者一個帶
+或-號的六位數。 MM-
一個從
01到12的兩位數。 DD-
一個從
01到31的兩位數。YYYY、MM和DD部分可以用-分隔或不用。 T可選-
日期時間分隔符,可以是
T、t或空格。當且僅當HH存在時才出現。 HH可選-
一個兩位數,從
00到23。預設為00。 mm可選-
一個從
00到59的兩位數。預設為00。 ss.sssssssss可選-
一個從
00到59的兩位數。可以選擇後跟.或,和一到九位數字。預設為00。HH、mm和ss部分可以用:分隔或不用。你可以只省略ss或同時省略ss和mm,因此時間可以有三種形式:HH、HH:mm或HH:mm:ss.sssssssss。 [u-ca=calendar_id]可選-
將
calendar_id替換為要使用的日曆。有關常用支援的日曆型別列表,請參閱Intl.supportedValuesOf()。預設為[u-ca=iso8601]。可以透過在鍵前加!來新增關鍵標誌:例如[!u-ca=iso8601]。這個標誌通常告訴其他系統,如果它們不支援它,就不能忽略它。如果註解包含兩個或多個日曆註解且其中一個是關鍵的,Temporal解析器將丟擲錯誤。請注意,YYYY-MM-DD始終被解釋為 ISO 8601 日曆日期,然後轉換為指定的日曆。
作為輸入,你可以選擇包含偏移量和時區識別符號,格式與 ZonedDateTime 相同,但它們將被忽略。請注意,偏移量不能是 Z。[key=value] 格式的其他註釋也會被忽略,並且它們不能具有關鍵標誌。
序列化時,你可以配置小數秒位數、是否顯示日曆 ID 以及是否為其新增關鍵標誌。
建構函式
Temporal.PlainDateTime()實驗性-
透過直接提供底層資料來建立新的
Temporal.PlainDateTime物件。
靜態方法
Temporal.PlainDateTime.compare()實驗性-
返回一個數字(-1、0 或 1),指示第一個日期時間是早於、等於還是晚於第二個日期時間。相當於先比較它們的日期,如果日期相同,則比較它們的時間。
Temporal.PlainDateTime.from()實驗性-
從另一個
Temporal.PlainDateTime物件、具有日期和時間屬性的物件或 RFC 9557 字串建立新的Temporal.PlainDateTime物件。
例項屬性
這些屬性定義在 Temporal.PlainDateTime.prototype 上,並由所有 Temporal.PlainDateTime 例項共享。
Temporal.PlainDateTime.prototype.calendarId實驗性-
返回一個字串,表示用於解釋內部 ISO 8601 日期的日曆。
Temporal.PlainDateTime.prototype.constructor-
建立例項物件的建構函式。對於
Temporal.PlainDateTime例項,初始值是Temporal.PlainDateTime()建構函式。 Temporal.PlainDateTime.prototype.day實驗性-
返回一個正整數,表示此日期在本月中的基於 1 的日期索引,這與你在日曆上看到的日期數字相同。依賴於日曆。通常從 1 開始並且是連續的,但並非總是如此。
Temporal.PlainDateTime.prototype.dayOfWeek實驗性-
返回一個正整數,表示此日期在星期中的 1-based 天索引。星期中的天數從
1到daysInWeek順序編號,每個數字都對映到其名稱。日曆相關。在日曆中,1 通常表示星期一,即使使用該日曆的語言環境可能將不同的日子視為一週的第一天(請參閱Intl.Locale.prototype.getWeekInfo())。 Temporal.PlainDateTime.prototype.dayOfYear實驗性-
返回一個正整數,表示此日期在一年中的 1-based 天索引。這一年的第一天是
1,最後一天是daysInYear。日曆相關。 Temporal.PlainDateTime.prototype.daysInMonth實驗性-
返回一個正整數,表示此日期所在月份的天數。依賴於日曆。
Temporal.PlainDateTime.prototype.daysInWeek實驗性-
返回一個正整數,表示此日期所在星期中的天數。依賴於日曆。對於 ISO 8601 日曆,這總是 7,但在其他日曆系統中,每週可能不同。
Temporal.PlainDateTime.prototype.daysInYear實驗性-
返回一個正整數,表示此日期所在年份的天數。依賴於日曆。對於 ISO 8601 日曆,這是 365,閏年是 366。
Temporal.PlainDateTime.prototype.era實驗性-
返回一個日曆特定的小寫字串,表示此日期的紀元,如果日曆不使用紀元(例如 ISO 8601),則返回
undefined。era和eraYear一起唯一地標識日曆中的一年,就像year一樣。依賴於日曆。對於格里高利曆,它是"gregory"或"gregory-inverse"。 Temporal.PlainDateTime.prototype.eraYear實驗性-
返回一個非負整數,表示此日期在紀元內的年份,如果日曆不使用紀元(例如 ISO 8601),則返回
undefined。年份索引通常從 1(更常見)或 0 開始,一個紀元內的年份可以隨時間減少(例如格里高利曆的公元前)。era和eraYear一起唯一地標識日曆中的一年,就像year一樣。依賴於日曆。 Temporal.PlainDateTime.prototype.hour實驗性-
返回一個從 0 到 23 的整數,表示此時間的小時部分。
Temporal.PlainDateTime.prototype.inLeapYear實驗性-
返回一個布林值,指示此日期是否在閏年。閏年是指比平年有更多天數(由於閏日或閏月)的年份。依賴於日曆。
Temporal.PlainDateTime.prototype.microsecond實驗性-
返回一個從 0 到 999 的整數,表示此時間的微秒(10-6 秒)部分。
Temporal.PlainDateTime.prototype.millisecond實驗性-
返回一個從 0 到 999 的整數,表示此時間的毫秒(10-3 秒)部分。
Temporal.PlainDateTime.prototype.minute實驗性-
返回一個從 0 到 59 的整數,表示此時間的分鐘部分。
Temporal.PlainDateTime.prototype.month實驗性-
返回一個正整數,表示此日期在一年中的 1-based 月份索引。這一年的第一個月是
1,最後一個月是monthsInYear。日曆相關。請注意,與Date.prototype.getMonth()不同,索引是 1-based。如果日曆有閏月,則具有相同monthCode的月份在不同年份可能具有不同的month索引。 Temporal.PlainDateTime.prototype.monthCode實驗性-
返回一個日曆特定的字串,表示此日期的月份。依賴於日曆。通常是
M加上一個兩位數的月份編號。對於閏月,它是上一個月的程式碼後跟L。如果閏月是一年中的第一個月,程式碼是M00L。 Temporal.PlainDateTime.prototype.monthsInYear實驗性-
返回一個正整數,表示此日期所在年份的月份數。依賴於日曆。對於 ISO 8601 日曆,這總是 12,但在其他日曆系統中可能會有所不同。
Temporal.PlainDateTime.prototype.nanosecond實驗性-
返回一個從 0 到 999 的整數,表示此時間的納秒(10-9 秒)部分。
Temporal.PlainDateTime.prototype.second實驗性-
返回一個從 0 到 59 的整數,表示此時間的秒部分。
Temporal.PlainDateTime.prototype.weekOfYear實驗性-
返回一個正整數,表示此日期在
yearOfWeek中的 1-based 星期索引,如果日曆沒有明確定義的星期系統,則返回undefined。一年中的第一週是1。日曆相關。請注意,對於 ISO 8601,一年中的最初幾天和最後幾天可能被歸屬於上一年或下一年的最後一週或第一週。 Temporal.PlainDateTime.prototype.year實驗性-
返回一個整數,表示此日期的年份,相對於日曆特定的紀元開始年份。依賴於日曆。通常,第 1 年是最新紀元的第一年或 ISO 8601 的
0001年。如果紀元在年中開始,該年在紀元開始日期前後將具有相同的值。 Temporal.PlainDateTime.prototype.yearOfWeek實驗性-
返回一個整數,表示與此日期的
weekOfYear配對的年份,如果日曆沒有明確定義的星期系統,則返回undefined。日曆相關。這通常是日期的年份,但對於 ISO 8601,一年中的最初幾天和最後幾天可能歸屬於上一年或下一年的最後一週或第一週,導致yearOfWeek相差 1。 Temporal.PlainDateTime.prototype[Symbol.toStringTag]-
[Symbol.toStringTag]屬性的初始值是字串"Temporal.PlainDateTime"。此屬性在Object.prototype.toString()中使用。
例項方法
Temporal.PlainDateTime.prototype.add()實驗性-
返回一個新的
Temporal.PlainDateTime物件,表示此日期時間向前移動給定持續時間(以可由Temporal.Duration.from()轉換的形式)。 Temporal.PlainDateTime.prototype.equals()實驗性-
如果此日期時間的值與另一個日期時間(以可由
Temporal.PlainDateTime.from()轉換的形式)等效,則返回true,否則返回false。它們透過日期和時間值以及日曆進行比較,因此來自不同日曆的兩個日期時間可能透過Temporal.PlainDateTime.compare()被視為相等,但透過equals()則不相等。 Temporal.PlainDateTime.prototype.round()實驗性-
返回一個新的
Temporal.PlainDateTime物件,表示此日期時間按給定單位四捨五入。 Temporal.PlainDateTime.prototype.since()實驗性-
返回一個新的
Temporal.Duration物件,表示從另一個日期時間(以可由Temporal.PlainDateTime.from()轉換的形式)到此日期時間的持續時間。如果另一個日期時間在此日期時間之前,則持續時間為正,如果之後,則為負。 Temporal.PlainDateTime.prototype.subtract()實驗性-
返回一個新的
Temporal.PlainDateTime物件,表示此日期時間向後移動給定持續時間(以可由Temporal.Duration.from()轉換的形式)。 Temporal.PlainDateTime.prototype.toJSON()實驗性-
返回一個字串,表示此日期時間採用與呼叫
toString()相同的 RFC 9557 格式。旨在由JSON.stringify()隱式呼叫。 Temporal.PlainDateTime.prototype.toLocaleString()實驗性-
返回一個帶有此日期時間語言敏感表示的字串。
Temporal.PlainDateTime.prototype.toPlainDate()實驗性-
返回一個新的
Temporal.PlainDate物件,表示此日期時間在同一日曆系統中的日期部分(年、月、日)。 Temporal.PlainDateTime.prototype.toPlainTime()實驗性-
返回一個新的
Temporal.PlainTime物件,表示此日期時間的時間部分(小時、分鐘、秒和亞秒元件)。 Temporal.PlainDateTime.prototype.toString()實驗性-
返回一個字串,表示此日期時間採用 RFC 9557 格式。
Temporal.PlainDateTime.prototype.toZonedDateTime()實驗性-
返回一個新的
Temporal.ZonedDateTime例項,表示與此普通日期時間相同的日期時間,但在指定的時區。 Temporal.PlainDateTime.prototype.until()實驗性-
返回一個新的
Temporal.Duration物件,表示從此日期時間到另一個日期時間(以可由Temporal.PlainDateTime.from()轉換的形式)的持續時間。如果另一個日期時間在此日期時間之後,則持續時間為正,如果之前,則為負。 Temporal.PlainDateTime.prototype.valueOf()實驗性-
丟擲
TypeError,這會阻止Temporal.PlainDateTime例項在算術或比較操作中被隱式轉換為原始值。 Temporal.PlainDateTime.prototype.with()實驗性-
返回一個新的
Temporal.PlainDateTime物件,表示此日期時間的一些欄位被新值替換。 Temporal.PlainDateTime.prototype.withCalendar()實驗性-
返回一個新的
Temporal.PlainDateTime物件,表示此日期時間在新日曆系統中解釋。 Temporal.PlainDateTime.prototype.withPlainTime()實驗性-
返回一個新的
Temporal.PlainDateTime物件,表示此日期時間的時間部分完全被新時間替換(以可由Temporal.PlainTime.from()轉換的形式)。
規範
| 規範 |
|---|
| Temporal # sec-temporal-plaindatetime-objects |
瀏覽器相容性
載入中…