календарь

Вычитание месяцев из даты

Переместите дату назад на целое число календарных месяцев с переходом на последний допустимый день.

Вычитание месяцев из даты: Находит более раннюю дату, перемещаясь назад на целое число календарных месяцев. Исходный номер дня сохраняется, если он есть в более раннем месяце, а при необходимости заменяется на последний день этого месяца. Это помогает отсчитывать время назад от важного события, не считая каждый месяц фиксированным числом дней. Работает на 100% локально в вашем браузере, файлы на сервер не загружаются.

Категория
Калькуляторы
Запуски
В вашем браузере
Стоимость
Бесплатно · без регистрации
Доступность
Готово к использованию
TOEA / КАЛЕНДАРНЫЙ ИНСТРУМЕНТ · Только в браузере
ЛИСТ ВВОДА / 01

Календарные значения

Значения остаются на этом устройстве. После изменения входного значения выполните расчёт ещё раз.

ЛИСТ РЕЗУЛЬТАТОВ / 02

Дата результата

—

Вычтено месяцев
—
Рабочая формулаДата результата = дата − целые месяцы; день = min(исходный день, последний день целевого месяца)
ДОПУЩЕНИЯ / ПРОЧИТАЙТЕ ПЕРЕД ИСПОЛЬЗОВАНИЕМ
  1. Даты считаются календарными датами в 00:00 по UTC; местный часовой пояс и переход на летнее время не учитываются.
  2. Результаты предназначены для планирования. Государственные праздники, местные правила расчёта рабочих дней и политики компаний не определяются.
  3. При расчёте по месяцам недопустимый день заменяется на последний день целевого месяца: 31 марта минус один месяц — это 28 февраля (или 29 февраля в високосном году).

Расчёт предыдущего месяца на примере марта

Пусть Y, M и D — исходные год, месяц и день, причём M находится в диапазоне от 1 до 12, а N — неотрицательное количество месяцев. Индекс месяца назначения I = 12Y + (M − 1) − N. Преобразуйте I в год и месяц, затем выберите день назначения min(D, L), где L — продолжительность этого месяца. Переход через границы года выполняется в рамках того же расчёта.

Для исходной даты 2025-03-31 и N = 1 месяц назначения — февраль 2025 года. В нём L = 28 дней, поэтому min(31, 28) = 28. Результат — 2025-02-28, то есть вычтен 1 месяц. В этом случае расстояние по календарю составляет 31 день, несмотря на ввод в 1 месяц.

Использование более ранних дат как ориентиров для планирования

Продолжительность февраля определяется правилами високосного года в григорианском календаре, объяснёнными Военно-морской обсерваторией США (https://aa.usno.navy.mil/faq/leap_years). Выбирается допустимая более ранняя дата: расчёт никогда не создаёт 30 февраля и не переносит лишний день на март.

Сохраняйте исходную контрольную дату при создании нескольких дат для обратного планирования. Последовательное вычитание одного месяца из предыдущего результата может переносить сокращённый день дальше. Поле принимает значение zero, при котором контрольная дата остаётся без изменений, но не принимает отрицательное или дробное количество месяцев. Для более ранней даты не выполняется корректировка на выходные или проверка рабочих часов, поэтому перед планированием подготовительных работ сверьте её с фактическим графиком.

Как пользоваться

  1. Введите дату события, от которой нужно отсчитать время назад.
  2. Выберите целое число месяцев для вычитания.
  3. Выполните расчёт и проверьте более раннюю дату, особенно если исходный день близок к концу месяца.

Конфиденциальность и ограничения

Даты, время и результаты остаются в вашем браузере. Введённые данные никуда не загружаются.

Похожие инструменты

Часто задаваемые вопросы

Что произойдёт, если в более раннем месяце нет 31-го дня?

В результате используется последний допустимый день более раннего месяца. Поэтому при переходе от даты 31 марта к февралю используется 28 или 29 февраля — в зависимости от года.

Восстановится ли исходная дата, если прибавить такое же число месяцев?

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

Сохраняет ли вычитание месяцев день недели события?

Нет. При смещении по возможности сохраняется номер дня, а не день недели. Чтобы получить более раннюю дату с тем же днём недели, вычитайте целое число недель.

Бесплатный инструмент · запусков: в вашем браузере · аккаунт не нужен