Temporal.ZonedDateTime.prototype.subtract()

Khả dụng hạn chế

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

Phương thức subtract() của các thực thể Temporal.ZonedDateTime trả về một đối tượng Temporal.ZonedDateTime mới biểu thị ngày-giờ này được dịch lùi theo một khoảng thời gian đã cho (dưới dạng có thể chuyển đổi bởi Temporal.Duration.from()).

Nếu bạn muốn trừ hai ngày-giờ và lấy một khoảng thời gian, hãy sử dụng since() hoặc until() thay thế.

Cú pháp

js
subtract(duration)
subtract(duration, options)

Tham số

duration

Một chuỗi, một đối tượng, hoặc một thực thể Temporal.Duration biểu thị khoảng thời gian cần trừ khỏi ngày-giờ này. Nó được chuyển đổi thành đối tượng Temporal.Duration bằng cùng thuật toán như Temporal.Duration.from().

options Optional

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

overflow Optional

Một chuỗi chỉ định hành vi khi thành phần ngày nằm ngoài phạm vi. Các giá trị có thể là:

"constrain" (mặc định)

Thành phần ngày bị kẹp vào phạm vi hợp lệ.

"reject"

Một RangeError được ném ra nếu thành phần ngày nằm ngoài phạm vi.

Giá trị trả về

Một đối tượng Temporal.ZonedDateTime mới biểu thị ngày-giờ được chỉ định bởi ZonedDateTime ban đầu, trừ đi khoảng thời gian.

Ngoại lệ

RangeError

Được ném ra nếu kết quả không nằm trong phạm vi có thể biểu thị, là ±108 ngày, hoặc khoảng ±273,972.6 năm, từ Unix epoch.

Mô tả

Trừ một khoảng thời gian tương đương với cộng phủ định của nó, vì vậy tất cả các cân nhắc tương tự đều áp dụng.

Ví dụ

Trừ một khoảng thời gian

js
const start = Temporal.ZonedDateTime.from(
  "2021-01-01T12:34:56-05:00[America/New_York]",
);
const end = start.subtract({
  years: 1,
  months: 2,
  weeks: 3,
  days: 4,
  hours: 5,
  minutes: 6,
  seconds: 7,
  milliseconds: 8,
});
console.log(end.toString()); // 2019-10-07T07:28:48.992-04:00[America/New_York]

Đặc tả

Thông số kỹ thuật
Temporal
# sec-temporal.zoneddatetime.prototype.subtract

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

Xem thêm