CodeKitHub
Русский
Инструменты на каждый день

Калькулятор дат

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

Что это за инструмент?

Калькулятор дат позволяет ответить на два повседневных вопроса: «сколько времени проходит между этими двумя датами» и «какая дата будет через N дней/недель/месяцев». Этот инструмент решает обе задачи в одном месте — режим «разница», который показывает точное расстояние в днях, неделях и календарных годах/месяцах/днях, и режим «сложение/вычитание», который позволяет смещать дату вперед или назад.

В расчетах учтены реальные календарные неровности: месяцы разной длины, високосные годы, а также тот факт, что дата «через 3 месяца после 31 января» должна соответствовать реальной дате. Она не учитывает часовые пояса и правила, касающиеся рабочих дней (выходные и праздничные дни считаются обычными днями) — если вам нужны расчёты, учитывающие только рабочие дни, используйте эту формулу в качестве отправной точки и вычитайте выходные и праздничные дни вручную.

Зачем его использовать?

  • Узнайте точное количество дней между двумя датами для контрактов, счетов-фактур, сроков выполнения проектов или правил, связанных с возрастом.
  • Добавляйте или вычитайте дни, недели, месяцы или годы из любой даты — это полезно для расчета сроков исполнения обязательств, истечения срока действия гарантии или выполнения условий типа «90 дней с момента доставки».
  • Ознакомьтесь как с общим количеством дней, так и с разбивкой по календарю (годы/месяцы/дни) для одного и того же промежутка — это полезно, когда в форме запрашивается одно, а вы мыслите в других единицах измерения.
  • 100% конфиденциально: все вычисления дат выполняются в вашем браузере, никакие данные не отправляются на сервер.
  • Не требует входа в систему, реклама не мешает работе инструмента, работает на мобильных устройствах.

Как использовать

  1. Выберите «Количество дней между двумя датами», чтобы определить интервал, или «Прибавить/вычесть дни из даты», чтобы рассчитать дату в будущем или прошлом.
  2. Для промежутка: выберите дату начала и дату окончания (порядок не имеет значения, инструмент сортирует их автоматически) и нажмите «Рассчитать».
  3. Для сложения/вычитания: выберите базовую дату, направление, величину и единицу измерения (дни, недели, месяцы или годы), а затем нажмите «Рассчитать».
  4. Просмотрите результат — в режиме «разность» отображается общее количество дней, а также разбивка по годам, месяцам и дням; в режиме «сложение/вычитание» отображается итоговая дата и день недели.

Пример

Ввод

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, а не таблицу сопоставлений.

Похожие инструменты