Temporal.ZonedDateTime.prototype.getTimeZoneTransition()

Limited availability

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

Phương thức getTimeZoneTransition() của các thực thể Temporal.ZonedDateTime trả về đối tượng Temporal.ZonedDateTime biểu thị thời điểm gần nhất sau hoặc trước thời điểm này mà tại đó offset UTC của múi giờ thay đổi (thời điểm trả về là thời điểm đầu tiên sau khi thay đổi), hoặc null nếu không có chuyển đổi nào như vậy. Điều này hữu ích để tìm hiểu các quy tắc offset của múi giờ, chẳng hạn như mô hình giờ tiết kiệm ánh sáng ban ngày (DST).

Lưu ý rằng các thời điểm trả về liên quan đến tương lai có thể không đáng tin cậy, ví dụ do thay đổi định nghĩa múi giờ.

Cú pháp

js
getTimeZoneTransition(direction)
getTimeZoneTransition(options)

Tham số

direction

Một chuỗi biểu thị tùy chọn direction. Đây là dạng overload tiện lợi, vì vậy getTimeZoneTransition(direction) tương đương với getTimeZoneTransition({ direction }), trong đó direction là chuỗi.

options

Một đối tượng chứa thuộc tính sau:

direction

Tìm kiếm trước hay sau thời điểm hiện tại. Phải là "next" hoặc "previous".

Giá trị trả về

Một đối tượng Temporal.ZonedDateTime với thời điểm t, sao cho:

  • Offset múi giờ tại t khác với offset một nano giây trước t.
  • t < this.epochNanoseconds nếu direction"previous", hoặc t > this.epochNanoseconds nếu direction"next".
  • Với tất cả các thời điểm giữa this.epochNanosecondst, ngoại trừ hai đầu, offset là hằng số.

Nếu không có chuyển đổi nào như vậy, trả về null.

Ví dụ

Tìm chuyển đổi múi giờ tiếp theo

js
const dt = Temporal.ZonedDateTime.from("2024-01-01T00-05:00[America/New_York]");
const transition = dt.getTimeZoneTransition("next");
console.log(transition.toString()); // "2024-03-10T03:00:00-04:00[America/New_York]"

const transition2 = transition.getTimeZoneTransition("next");
console.log(transition2.toString()); // "2024-11-03T01:00:00-05:00[America/New_York]"

const transition3 = dt.getTimeZoneTransition("previous");
console.log(transition3.toString()); // "2023-11-05T01:00:00-05:00[America/New_York]"

const dt2 = Temporal.ZonedDateTime.from("2024-01-01T00Z[UTC]");
console.log(dt2.getTimeZoneTransition("next")); // null

Thông số kỹ thuật

Specification
Temporal
# sec-temporal.zoneddatetime.prototype.gettimezonetransition

Tính tương thích với trình duyệt

Xem thêm