Что делает этот калькулятор
Калькулятор даты с прибавлением и вычитанием календарных единиц добавляет или отнимает выбранное количество дней, недель, месяцев, кварталов или лет от любой исходной даты. В ответ вы получаете итоговую дату в удобном формате, день недели и порядковый номер дня в году — как для начальной, так и для конечной даты. Расчёт ведётся по пролептическому григорианскому календарю, поэтому он одинаково работает в любой стране и не учитывает государственные праздники или рабочие дни.
Как пользоваться
Укажите исходную дату (год, месяц, день), выберите формат даты (США m/d/yyyy, Европа d-m-yyyy или ISO yyyy-mm-dd) — он определяет, как дата отображается на экране. Затем задайте операцию (прибавить или вычесть), введите количество и выберите тип единицы. Число может быть нулём или отрицательным.
Как устроена формула
Для дней и недель используется точный подсчёт суток: дата переводится в юлианский день (JDN), к нему прибавляется смещение со знаком (недели умножаются на 7), после чего JDN преобразуется обратно в дату. При этом автоматически учитываются годы по 365 и 366 дней. Общая формула:
$$\text{Result} = \text{Start Date} \;\pm\; n \times \text{Unit}$$Для арифметики дней используется юлианский день:
$$\text{JDN}_{result} = \text{JDN}_{start} + n_{days}$$Для месяцев, кварталов и лет шаг идёт по целым календарным месяцам: вычисляется общее число месяцев, оно делится на годы и месяцы, а день при необходимости «подрезается» до последнего допустимого дня этого месяца:
$$D_{result} = \min\big(D_{start},\; \text{daysInMonth}(Y_{result}, M_{result})\big)$$Например, 31 января минус один месяц даёт последний день предыдущего месяца, а не «переползает» в следующий.
Пример расчёта
Берём 6/15/2026 (понедельник, 166-й день 2026 года) и прибавляем 180 дней. Юлианский день — 2461577; прибавив 180, получаем
$$2461577 + 180 = 2461757$$что соответствует 12 декабря 2026 года — субботе и 346-му дню 2026 года. Итог: «Суббота, 12 декабря 2026 / 12/12/2026 / 346-й день 2026 года».
Частые вопросы
Почему при прибавлении месяца день иногда меняется? Потому что в месяцах разное число дней. Если прибавить месяц к 31 января, результат «подрезается» до последнего дня следующего месяца (28 или 29 февраля).
Как учитываются високосные годы? Арифметика дней и недель считает реальные сутки, поэтому високосные дни проходятся корректно. Если прибавить целые годы к 29 февраля, в невисокосный год результат придётся на 28 февраля.
Учитываются ли рабочие дни? Нет — расчёт ведётся в чистых календарных единицах и не учитывает выходные и праздники.