Temporal.ZonedDateTime.prototype.day

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Thuộc tính accessor day của các instance Temporal.ZonedDateTime trả về một số nguyên dương biểu diễn chỉ số ngày dựa trên 1 trong tháng của ngày này, đó là số ngày bạn sẽ thấy trên lịch. Giá trị này phụ thuộc vào calendar.

Set accessor của dayundefined. Bạn không thể thay đổi thuộc tính này trực tiếp. Hãy dùng phương thức with() để tạo một đối tượng Temporal.ZonedDateTime mới với giá trị mong muốn.

Để biết thêm thông tin chung và ví dụ, hãy xem Temporal.PlainDate.prototype.day.

Đối với PlainDate, day chỉ có thể không liên tục nếu calendar bỏ qua các ngày. Đối với ZonedDateTime, day cũng có thể không liên tục nếu múi giờ thay đổi offset của nó 24 giờ; điều này thực sự đã xảy ra. Xem ví dụ bên dưới.

Ví dụ

Sử dụng day

js
const dt = Temporal.ZonedDateTime.from("2021-07-01[America/New_York]"); // ISO 8601 calendar
console.log(dt.day); // 1

Ngày không liên tục

Để phù hợp hơn với các đối tác thương mại ở châu Á, đất nước Samoa đã thay đổi múi giờ sang phía bên kia của Đường Đổi Ngày Quốc Tế, dịch chuyển offset của mình từ -10:00 sang +14:00 (giờ mùa hè). Điều này dẫn đến một sự thay đổi đột ngột 24 giờ trong giờ địa phương, do đó bỏ qua hoàn toàn ngày 30 tháng 12 năm 2011. 2011-12-29T23:59:59-10:00[Pacific/Apia] ngay lập tức được tiếp nối bởi 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

Vì lý do này, bạn nên luôn ưu tiên add()subtract() để thao tác ngày và giờ, thay vì thay đổi trực tiếp thuộc tính day.

Đặc tả kỹ thuật

Specification
Temporal
# sec-get-temporal.zoneddatetime.prototype.day

Khả năng tương thích với trình duyệt

Xem thêm