Temporal.ZonedDateTime.prototype.withTimeZone()

Limited availability

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

Phương thức withTimeZone() của các thực thể Temporal.ZonedDateTime trả về một đối tượng Temporal.ZonedDateTime mới biểu thị cùng thời điểm như ngày-giờ này nhưng trong múi giờ mới. Vì tất cả các đối tượng Temporal được thiết kế để bất biến, phương thức này về cơ bản hoạt động như setter cho thuộc tính timeZoneId của ngày-giờ.

Để thay thế các thuộc tính thành phần ngày-giờ, hãy sử dụng phương thức with(). Để thay thế lịch của nó, hãy sử dụng phương thức withCalendar().

Cú pháp

js
withTimeZone(timeZone)

Tham số

timeZone

Một chuỗi hoặc một thực thể Temporal.ZonedDateTime biểu thị múi giờ cần sử dụng. Nếu là thực thể Temporal.ZonedDateTime, múi giờ của nó được sử dụng. Nếu là chuỗi, nó có thể là định danh múi giờ được đặt tên, định danh múi giờ offset, hoặc chuỗi ngày-giờ chứa định danh múi giờ hoặc offset (xem múi giờ và offset để biết thêm thông tin).

Giá trị trả về

Một đối tượng Temporal.ZonedDateTime mới biểu thị cùng thời điểm như ngày-giờ này nhưng trong múi giờ mới.

Ngoại lệ

TypeError

Được ném ra nếu timeZone không phải là chuỗi hoặc thực thể Temporal.ZonedDateTime.

RangeError

Được ném ra nếu tên múi giờ không hợp lệ.

Ví dụ

Sử dụng withTimeZone()

js
const meetingTime = Temporal.ZonedDateTime.from(
  "2021-08-01T12:00[America/New_York]",
);
const meetingTimeInParis = meetingTime.withTimeZone("Europe/Paris");
console.log(meetingTimeInParis.toString()); // 2021-08-01T18:00:00+02:00[Europe/Paris]

Thay thế múi giờ trong khi giữ nguyên giờ đồng hồ

Trong trường hợp hiếm khi bạn muốn giữ nguyên giờ đồng hồ nhưng thay đổi múi giờ (và kết quả là một thời điểm khác), hãy chuyển đổi sang Temporal.PlainDateTime trước:

js
const meetingTime = Temporal.ZonedDateTime.from(
  "2021-08-01T12:00[America/New_York]",
);
const meetingTimeInParis = meetingTime
  .toPlainDateTime()
  .toZonedDateTime("Europe/Paris");
console.log(meetingTimeInParis.toString()); // 2021-08-01T12:00:00+02:00[Europe/Paris]

Đặc tả

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

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

Xem thêm