Spec-Zone.ru › JavaScript

Temporal.PlainDateTime.prototype.until()

Базовый уровень Ограниченная доступность

Эта функция не является базовой, поскольку она не работает в некоторых наиболее широко используемых браузерах.

Метод until() экземпляров Temporal.PlainDateTime возвращает новый объект Temporal.Duration, представляющий продолжительность от этой даты-времени до другой даты-времени (в форме, преобразуемой с помощью Temporal.PlainDateTime.from()). Продолжительность является положительной, если другая дата-время позже этой даты-времени, и отрицательной, если раньше.

Этот метод выполняет other - this. Чтобы выполнить this - other, используйте метод since().

Синтаксис

until(other)
until(other, options)

Параметры

other
Строка, объект или экземпляр Temporal.PlainDateTime, представляющий дату-время, из которой вычитается эта дата-время. Он преобразуется в объект Temporal.PlainDateTime с использованием того же алгоритма, что и Temporal.PlainDateTime.from(). Он должен иметь тот же календарь, что и this.
options Необязательный
Те же параметры, что и у since().

Возвращаемое значение

Новый объект Temporal.Duration, представляющий продолжительность от этой даты-времени до other. Продолжительность является положительной, если other позже этой даты-времени, и отрицательной, если раньше.

Исключения

RangeError
Генерируется в одном из следующих случаев:
  • other имеет другой календарь, чем this.
  • Любой из параметров недействителен.

Примеры

Использование until()

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`);

Дополнительные примеры см. в since().

Спецификации

Спецификация
Temporal
# sec-temporal.plaindatetime.prototype.until

Совместимость с браузерами

Десктопные Мобильные Серверные
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet WebView Android WebView on iOS Bun Deno Node.js
until
144
144
139
128
preview
144
139
95
Нет
Нет
144
Нет
1.4.0
2.7
26.0.0

См. также

  • Temporal.PlainDateTime
  • Temporal.Duration
  • Temporal.PlainDateTime.prototype.add()
  • Temporal.PlainDateTime.prototype.subtract()
  • Temporal.PlainDateTime.prototype.since()

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal/PlainDateTime/until

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API