Сервисы

Калькулятор 3 месяцев от даты

Какая дата будет через 3 месяца

Калькулятор прибавляет указанное число месяцев к дате отсчёта и показывает итоговую дату с корректной обработкой конца месяца.

Сколько месяцев прибавить

Дата отсчёта


Логика вычислений

Калькулятор прибавляет заданное число месяцев к дате отсчёта и выдаёт итоговую дату вместе с днём недели. Сначала к месяцу исходной даты добавляется нужное количество месяцев, а полученный «сквозной» номер месяца раскладывается обратно на год и месяц:

M = M_0 + N    Y = Y_0 + ⌊M / 12⌋    M_итог = M mod 12

где:

  • M_0 — порядковый номер месяца даты отсчёта (отсчёт от 0: январь — 0, декабрь — 11);
  • N — количество прибавляемых месяцев (может быть и отрицательным для отсчёта назад), мес;
  • M — суммарный номер месяца до приведения к диапазону года;
  • Y_0, Y — год даты отсчёта и год итоговой даты;
  • ⌊ ⌋ — округление вниз (целая часть от деления, определяет, на сколько лет вперёд ушли);
  • M_итог — номер месяца итоговой даты в пределах года (приводится к диапазону 0–11).

Число месяца сохраняется тем же, что и в дате отсчёта. Но если в целевом месяце такого числа нет (например, 31 марта при переходе в месяц с 30 или менее днями), берётся последний день целевого месяца:

D_итог = min(D_0, D_посл)

где:

  • D_итог — число итоговой даты;
  • D_0 — число даты отсчёта;
  • D_посл — последний день целевого месяца (28, 29, 30 или 31 — с учётом високосного года).

Итоговая дата собирается из вычисленных года Y, месяца M_итог и числа D_итог. День недели определяется по этой дате календарно.

Примеры расчётов

Дата отсчёта Прибавляем месяцев (N) M = M_0 + N Год Y Число D_итог Итоговая дата День недели Комментарий
19.06.2026 3 5 + 3 = 8 (сентябрь) 2026 min(19, 30) = 19 19.09.2026 суббота Базовый случай: «3 месяца от сегодня», число сохраняется
19.06.2026 1 5 + 1 = 6 (июль) 2026 min(19, 31) = 19 19.07.2026 воскресенье Прибавление одного месяца в пределах года
15.01.2026 12 0 + 12 = 12 → Y +1, месяц 0 (январь) 2027 min(15, 31) = 15 15.01.2027 пятница Переход через границу года: ⌊12 / 12⌋ = 1
31.12.2025 3 11 + 3 = 14 → Y +1, месяц 2 (март) 2026 min(31, 31) = 31 31.03.2026 вторник В марте есть 31-е число — день сохраняется без обрезки
30.11.2026 3 10 + 3 = 13 → Y +1, месяц 1 (февраль) 2027 min(30, 28) = 28 28.02.2027 воскресенье В феврале нет 30-го — берётся последний день месяца
29.11.2023 3 10 + 3 = 13 → Y +1, месяц 1 (февраль) 2024 min(29, 29) = 29 29.02.2024 четверг 2024 — високосный год, поэтому доступно 29-е февраля
19.06.2026 −3 5 − 3 = 2 (март) 2026 min(19, 31) = 19 19.03.2026 четверг Отрицательное N — отсчёт назад от даты
Рекомендуем