Что это за инструмент?
Калькулятор дат позволяет ответить на два повседневных вопроса: «сколько времени проходит между этими двумя датами» и «какая дата будет через N дней/недель/месяцев». Этот инструмент решает обе задачи в одном месте — режим «разница», который показывает точное расстояние в днях, неделях и календарных годах/месяцах/днях, и режим «сложение/вычитание», который позволяет смещать дату вперед или назад.
В расчетах учтены реальные календарные неровности: месяцы разной длины, високосные годы, а также тот факт, что дата «через 3 месяца после 31 января» должна соответствовать реальной дате. Она не учитывает часовые пояса и правила, касающиеся рабочих дней (выходные и праздничные дни считаются обычными днями) — если вам нужны расчёты, учитывающие только рабочие дни, используйте эту формулу в качестве отправной точки и вычитайте выходные и праздничные дни вручную.
Зачем его использовать?
- Узнайте точное количество дней между двумя датами для контрактов, счетов-фактур, сроков выполнения проектов или правил, связанных с возрастом.
- Добавляйте или вычитайте дни, недели, месяцы или годы из любой даты — это полезно для расчета сроков исполнения обязательств, истечения срока действия гарантии или выполнения условий типа «90 дней с момента доставки».
- Ознакомьтесь как с общим количеством дней, так и с разбивкой по календарю (годы/месяцы/дни) для одного и того же промежутка — это полезно, когда в форме запрашивается одно, а вы мыслите в других единицах измерения.
- 100% конфиденциально: все вычисления дат выполняются в вашем браузере, никакие данные не отправляются на сервер.
- Не требует входа в систему, реклама не мешает работе инструмента, работает на мобильных устройствах.
Как использовать
- Выберите «Количество дней между двумя датами», чтобы определить интервал, или «Прибавить/вычесть дни из даты», чтобы рассчитать дату в будущем или прошлом.
- Для промежутка: выберите дату начала и дату окончания (порядок не имеет значения, инструмент сортирует их автоматически) и нажмите «Рассчитать».
- Для сложения/вычитания: выберите базовую дату, направление, величину и единицу измерения (дни, недели, месяцы или годы), а затем нажмите «Рассчитать».
- Просмотрите результат — в режиме «разность» отображается общее количество дней, а также разбивка по годам, месяцам и дням; в режиме «сложение/вычитание» отображается итоговая дата и день недели.
Пример
Ввод
Start: 2026-01-15, End: 2026-07-10Результат
176 days — exactly 5 months, 25 daysПоказатель «общее количество дней» и разбивка по календарным дням отражают один и тот же промежуток времени в двух разных единицах измерения; используйте ту из них, которая указана в вашей форме или договоре.
Практические советы
- В контрактах и счетах, где указано «нетто 30» или «оплата в течение 90 дней», почти всегда имеются в виду календарные дни, а не рабочие дни — чтобы точно рассчитать срок оплаты, воспользуйтесь режимом сложения/вычитания, взяв дату выставления счета за основу.
- Если в форме требуется указать возраст или стаж «по состоянию на» конкретную дату, а не на сегодняшний день, используйте режим «разница», указав эту конкретную дату в качестве даты окончания, вместо того чтобы ориентироваться на сегодняшнюю дату.
- Разбивка по годам/месяцам/дням учитывает календарные особенности (то есть фактическую продолжительность месяцев), тогда как общее количество дней является фиксированным показателем — используйте общее количество дней для всего, что измеряется по фиксированной ставке (например, ежедневные сборы за хранение), а разбивку — для всего, что формулируется понятным для человека языком (например, «сколько действует эта гарантия»).
Типичные сценарии
Отслеживание сроков: если заданы дата доставки или подачи документов и правило «в течение N дней», режим сложения/вычитания выдает точную дату исполнения с указанием дня недели, благодаря чему вы сразу можете увидеть, приходится ли она на выходные.
Возраст или стаж на определенную дату: в кадровых формах и правилах определения права на льготы иногда требуется указать не текущий возраст, а возраст или стаж на определенную дату — в этом случае используйте режим «разница», указав эту дату в качестве конечной, а не калькулятор возраста, который всегда рассчитывает значение на сегодняшний день.
Часто задаваемые вопросы
В этом случае выходные и праздничные дни считаются полными днями?
Да — в обоих режимах используются обычные календарные дни. Если вам нужно подсчитать количество только рабочих дней (без учета выходных и праздничных дней), воспользуйтесь общим количеством дней, полученным с помощью этого инструмента, и вычтите из него нерабочие дни в соответствии с вашим календарем.
Почему при сложении 1 месяца к 31 января получается результат, отличный от ожидаемого?
Не каждый месяц имеет 31 день. Если к 31 января прибавить 1 месяц, в этом инструменте дата выпадет на 2 марта (или аналогичную дату переполнения), поскольку при вычислении дат в JavaScript лишние дни переносятся в следующий месяц, а не ограничиваются последним днём. Если вам нужно, чтобы результат ограничивался последним днём месяца (31 января + 1 месяц = 28/29 февраля), скорректируйте результат вручную.
Учитывает ли этот инструмент високосные годы?
Да. Високосные годы обрабатываются автоматически, поскольку в расчетах используются встроенные объекты Date языка JavaScript, которые уже учитывают, что в високосном году февраль имеет 29 дней.
Какую дату нужно указать в поле «начало», а какую — в поле «конец»?
Это не имеет значения — режим вычисления разности автоматически сортирует обе даты перед вычислением, поэтому ввод их в любом порядке даст одинаковый результат.
Существует ли ограничение на то, насколько далеко друг от друга могут находиться эти две даты?
Практически нет никаких ограничений — инструмент корректно работает с датами, разница между которыми составляет десятилетия или даже столетия, поскольку он использует стандартную арифметику дат в JavaScript, а не таблицу сопоставлений.