Spec-Zone.ru › JavaScript

Temporal.ZonedDateTime.prototype.subtract()

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

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

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

Если вы хотите вычесть две даты-времени и получить продолжительность, используйте вместо этого since() или until().

Синтаксис

subtract(duration)
subtract(duration, options)

Параметры

duration
Строка, объект или экземпляр Temporal.Duration, представляющий продолжительность, которую нужно вычесть из этой даты-времени. Он преобразуется в объект Temporal.Duration с использованием того же алгоритма, что и Temporal.Duration.from().
options Необязательно
Объект, содержащий следующее свойство:
overflow Необязательно
Строка, указывающая поведение, когда компонент даты находится вне диапазона. Возможные значения:
"constrain" (по умолчанию)
Компонент даты ограничивается допустимым диапазоном.
"reject"
Выбрасывается исключение RangeError, если компонент даты находится вне диапазона.

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

Новый объект Temporal.ZonedDateTime, представляющий дату-время, заданную исходным ZonedDateTime, за вычетом продолжительности.

Исключения

RangeError
Выбрасывается, если результат не находится в представимом диапазоне, который составляет ±108 дней, или около ±273 972,6 лет, от эпохи Unix.

Описание

Вычитание продолжительности эквивалентно добавлению её отрицания, поэтому применяются те же самые соображения.

Примеры

Вычитание продолжительности

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]

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

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

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

Десктопные Мобильные Серверные
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
subtract
144
144
139
128
preview
144
139
95
No
No
144
No
1.4.0
2.7
26.0.0

См. также

  • Temporal.ZonedDateTime
  • Temporal.Duration
  • Temporal.ZonedDateTime.prototype.add()
  • Temporal.ZonedDateTime.prototype.since()
  • Temporal.ZonedDateTime.prototype.until()

© 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/ZonedDateTime/subtract

Spec-Zone.ru

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