Temporal.PlainDateTime.prototype.until()

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 until() của các instance Temporal.PlainDateTime trả về một đối tượng Temporal.Duration mới đại diện cho khoảng thời gian từ ngày-giờ này đến một ngày-giờ khác (theo dạng có thể chuyển đổi bởi Temporal.PlainDateTime.from()). Khoảng thời gian là dương nếu ngày-giờ kia ở sau ngày-giờ này, và âm nếu ở trước.

Phương thức này thực hiện other - this. Để thực hiện this - other, hãy dùng phương thức since().

Cú pháp

js
until(other)
until(other, options)

Tham số

other

Một chuỗi, một đối tượng, hoặc một instance Temporal.PlainDateTime đại diện cho ngày-giờ cần trừ từ ngày-giờ này. Nó được chuyển đổi thành đối tượng Temporal.PlainDateTime sử dụng cùng thuật toán như Temporal.PlainDateTime.from(). Nó phải có cùng lịch như this.

options Optional

Các tùy chọn giống như since().

Giá trị trả về

Một đối tượng Temporal.Duration mới đại diện cho khoảng thời gian từ ngày-giờ này đến other. Khoảng thời gian là dương nếu other ở sau ngày-giờ này, và âm nếu ở trước.

Ngoại lệ

RangeError

Được ném ra trong một trong các trường hợp sau:

  • other có lịch khác với this.
  • Bất kỳ tùy chọn nào không hợp lệ.

Ví dụ

Sử dụng until()

js
let nextBilling = Temporal.PlainDateTime.from({
  year: Temporal.Now.plainDateISO().year,
  month: 4,
  day: 1,
});
const now = Temporal.Now.plainDateTimeISO().round("second");
if (Temporal.PlainDateTime.compare(nextBilling, now) < 0) {
  nextBilling = nextBilling.add({ years: 1 });
}
const duration = now.until(nextBilling);
console.log(`${duration.toLocaleString("en-US")} until next billing`);

Để xem thêm ví dụ, xem since().

Đặc tả

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

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

Xem thêm