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
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ậygetTimeZoneTransition(direction)tương đương vớigetTimeZoneTransition({ direction }), trong đódirectionlà 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
tkhác với offset một nano giây trướct. t < this.epochNanosecondsnếudirectionlà"previous", hoặct > this.epochNanosecondsnếudirectionlà"next".- Với tất cả các thời điểm giữa
this.epochNanosecondsvàt, 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
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> |