Temporal.PlainDateTime.prototype.subtract()

Limited availability

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 instance Temporal.PlainDateTime trả về một đối tượng Temporal.PlainDateTime mới đại diện cho ngày-giờ này dịch chuyển về phía trước theo một khoảng thời gian cho trước (ở dạng có thể chuyển đổi bởi Temporal.Duration.from()).

Nếu bạn muốn trừ hai ngày-giờ và nhận về một duration, 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 instance Temporal.Duration đại diện cho một 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 thuật toán tương tự 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 một thành phần ngày vượt ra ngoài phạm vi hợp lệ. Các giá trị có thể là:

"constrain" (mặc định)

Thành phần ngày được 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 vượt ra ngoài phạm vi hợp lệ.

Giá trị trả về

Một đối tượng Temporal.PlainDateTime mới đại diện cho ngày-giờ được chỉ định bởi PlainDateTime gốc, 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 diễn, tức là ±(108 + 1) ngày, hay khoảng ±273.972,6 năm, tính từ Unix epoch.

Mô tả

Trừ một duration tương đương với việc cộng số âm của nó, vì vậy tất cả các lưu ý tương tự đều áp dụng.

Ví dụ

Trừ một duration

js
const start = Temporal.PlainDateTime.from("2022-01-01T12:34:56");
const end = start.subtract({
  years: 1,
  months: 2,
  weeks: 3,
  days: 4,
  hours: 5,
  minutes: 6,
  seconds: 7,
  milliseconds: 8,
});
console.log(end.toString()); // 2020-10-07T07:28:48.992

Đặc tả

Specification
Temporal
# sec-temporal.plaindatetime.prototype.subtract

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

Xem thêm