Сервисы

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

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

Считает количество полных месяцев и оставшихся дней между двумя датами.

Начальная дата

Конечная дата


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

Калькулятор определяет, сколько полных месяцев и сколько оставшихся дней укладывается между начальной и конечной датами. Сначала считается число полных месяцев, затем — остаток в днях, который не дотянул до ещё одного полного месяца.

Число полных месяцев берётся как разница календарных месяцев между датами, при этом каждый год даёт 12 месяцев:

M = (Г_к − Г_н) × 12 + (М_к − М_н)

где:

  • M — число полных месяцев между датами, мес;
  • Г_н, Г_к — год начальной и конечной даты;
  • М_н, М_к — номер месяца (1–12) начальной и конечной даты;
  • Д_н, Д_к — день месяца начальной и конечной даты.

Если в конечной дате число месяца меньше, чем в начальной (Д_к < Д_н), последний месяц ещё не завершён, поэтому из результата вычитается один месяц:

M = M − 1    (если Д_к < Д_н)

Чтобы найти остаток дней, к начальной дате прибавляется M полных месяцев — получается промежуточная дата, отстоящая от начала ровно на целое число месяцев. Если в этом месяце нет нужного числа (например, 31-го), день берётся последним днём месяца:

Д_пром = min(Д_н, Д_мес)

где:

  • Д_пром — день промежуточной даты, отстоящей от начала на M месяцев;
  • Д_мес — число дней в месяце промежуточной даты, дн.

Остаток дней — это разница между конечной и промежуточной датами:

D = Дата_к − Дата_пром

где:

  • D — остаток дней сверх полных месяцев, дн;
  • Дата_к — конечная дата;
  • Дата_пром — промежуточная дата (начальная дата плюс M месяцев).

Итог калькулятор показывает в двух видах: отдельно число полных месяцев M и совмещённо — «M месяцев и D дней».

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

Начальная дата Конечная дата Полных месяцев M, мес Остаток дней D, дн Результат Комментарий
15.01.2024 15.04.2024 (2024−2024)×12 + (4−1) = 3 0 3 мес 0 дн Совпадает число месяца — ровно три полных месяца
01.01.2024 31.12.2024 (12−1) = 11 31.12 − 01.12 = 30 11 мес 30 дн Почти полный год без одного дня
10.03.2024 05.06.2024 (6−3) = 3, Д_к<Д_н → −1 = 2 05.06 − 10.05 = 26 2 мес 26 дн Число конечной даты меньше начальной — месяц вычитается
31.01.2024 31.03.2024 (3−1) = 2 0 2 мес 0 дн Концы месяца совпадают — ровно два месяца
31.01.2024 28.02.2024 (2−1) = 1, Д_к<Д_н → −1 = 0 28.02 − 31.01 = 28 0 мес 28 дн Граничный случай: в феврале нет 31-го, месяц не завершён
15.06.2022 20.09.2024 (2024−2022)×12 + (9−6) = 27 20.09 − 15.09 = 5 27 мес 5 дн Период через несколько лет — каждый год даёт 12 месяцев
30.01.2024 30.04.2024 (4−1) = 3 0 3 мес 0 дн Круглые числа, апрель из 30 дней — остатка нет
Рекомендуем