Temporal.ZonedDateTime.prototype.day
Temporal.ZonedDateTime 例項的 day 訪問器屬性返回一個正整數,表示該日期在月份中的基於 1 的日期索引,與你在日曆上看到的日期數字相同。它取決於日曆。
day 的設定器為 undefined。你不能直接更改此屬性。請使用 with() 方法建立一個具有所需新值的新的 Temporal.ZonedDateTime 物件。
有關一般資訊和更多示例,請參見 Temporal.PlainDate.prototype.day。
對於 PlainDate,如果日曆跳過天數,day 才會是非連續的。對於 ZonedDateTime,如果時區將其偏移量更改 24 小時,day 也可以是非連續的;這種情況確實發生過。請參見下面的示例。
示例
使用 day
js
const dt = Temporal.ZonedDateTime.from("2021-07-01[America/New_York]"); // ISO 8601 calendar
console.log(dt.day); // 1
非連續的 day
為了更好地與亞洲的貿易伙伴對齊時間,薩摩亞國將其時區更改到國際日期變更線的另一側,將其偏移量從 -10:00 更改為 +14:00(夏令時)。這導致當地時間 abrupt 改變 24 小時,因此完全跳過了 2011 年 12 月 30 日。2011-12-29T23:59:59-10:00[Pacific/Apia] 緊接著是 2011-12-31T00:00:00+14:00[Pacific/Apia]。
js
const dt = Temporal.ZonedDateTime.from(
"2011-12-29T23:59:59-10:00[Pacific/Apia]",
);
console.log(dt.day); // 29
const nextDay = dt.add({ seconds: 1 });
console.log(nextDay.day); // 31
因此,在操作日期和時間時,應始終首選 add() 和 subtract(),而不是直接更改 day 屬性。
規範
| 規範 |
|---|
| Temporal # sec-get-temporal.zoneddatetime.prototype.day |
瀏覽器相容性
載入中…
另見
Temporal.ZonedDateTimeTemporal.ZonedDateTime.prototype.with()Temporal.ZonedDateTime.prototype.add()Temporal.ZonedDateTime.prototype.subtract()Temporal.ZonedDateTime.prototype.yearTemporal.ZonedDateTime.prototype.monthTemporal.ZonedDateTime.prototype.daysInMonthTemporal.ZonedDateTime.prototype.dayOfWeekTemporal.ZonedDateTime.prototype.dayOfYearTemporal.PlainDate.prototype.day