Что считает калькулятор
Калькулятор месяцев между датами показывает, сколько полных календарных месяцев помещается между двумя датами. Неполный остаток после последнего полного месяца выводится отдельно в днях, поэтому результат не сводится к грубому делению периода на 30.
Входные данные
- первая дата - обычно начало периода;
- вторая дата - обычно конец периода;
- режим включения конечной даты, если последний день нужно считать частью периода.
Если вторая дата раньше первой, инструмент не выдаёт ошибку: он считает расстояние по хронологии и показывает соответствующее примечание.
Метод расчёта
Сначала даты упорядочиваются по календарю. Количество месяцев - это максимальное число полных календарных месяцев, которое можно прибавить к ранней дате, не выходя за позднюю дату:
$$ M=\max\{k:\operatorname{addMonths}(d_{\text{start}},k)\le d_{\text{end}}\} $$
Точка последнего полного месяца становится якорем для остатка дней:
$$ d_{\text{anchor}}=\operatorname{addMonths}(d_{\text{start}},M) $$
Остаток считается как календарные дни после этого якоря:
$$ R=n_{\text{end}}-n_{\text{anchor}} $$
Для режима с включением конечной даты расчёт повторяется для даты, сдвинутой на один день вперёд:
$$ d_{\text{end,incl}}=d_{\text{end}}+1 $$
Что можно получить
- количество полных календарных месяцев между датами;
- остаток дней после последнего полного месяца;
- разложение полного количества месяцев на годы и месяцы;
- вариант с включением конечной даты;
- точку последнего полного месяца;
- готовую сводку расчёта.
Ограничения
Страница считает только календарные месяцы и календарные дни. Рабочие дни, праздники, производственные календари, время суток и часовые пояса не участвуют. Если нужен интервал в неделях, часах или точное время между моментами, это отдельные сценарии.