Spec-Zone.ru › JavaScript

Temporal.PlainYearMonth.prototype.subtract()

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

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

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

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

Синтаксис

subtract(duration)
subtract(duration, options)

Параметры

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

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

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

Исключения

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

Описание

Вычитание длительности эквивалентно добавлению ее отрицания, поэтому применяются все те же соображения. Вычитание положительной длительности начинается с конца года-месяца и движется назад, поэтому любое приращение, меньшее длины месяца, игнорируется.

Примеры

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

const start = Temporal.PlainYearMonth.from("2022-01");
const end = start.subtract({ years: 1, months: 2, weeks: 3, days: 4 });
console.log(end.toString()); // 2020-11

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

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

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

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

Desktop Mobile Server
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.PlainYearMonth
  • Temporal.Duration
  • Temporal.PlainYearMonth.prototype.add()
  • Temporal.PlainYearMonth.prototype.since()
  • Temporal.PlainYearMonth.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/PlainYearMonth/subtract

Spec-Zone.ru

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