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

Прибавляйте или вычитайте дни, недели, месяцы и годы; анализируйте диапазоны со счётом будних и выходных дней

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

Результат

Вычисленная дата:03.08.2026
воскресенье1 дн.

Калькулятор Диапазона Дат

История вычислений

К 02.08.2026 прибавлено 1 Дни
02.08.202603.08.2026
1 дн.

О датах

Рабочие дни

Рабочие дни исключают субботу и воскресенье. Полезно для графиков проектов, контрактных сроков и SLA-окон, которые останавливаются на выходных. Калькулятор шагает день за днём и считает только Пн–Пт.

Только будни

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

Анализ диапазона дат

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

Прибавление / вычитание единиц

Прибавляйте или вычитайте дни, недели, месяцы, годы, часы или минуты. Календарная арифметика использует объект Date браузера, поэтому високосные годы и короткие месяцы обрабатываются автоматически.

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

Прибавляйте или вычитайте дни, недели, месяцы и годы; анализируйте диапазоны со счётом будних и выходных дней

Возможности

  • Прибавляйте или вычитайте дни, недели, месяцы, годы, часы или минуты к любой базовой дате — учитывает календарь (високосные годы и короткие месяцы обрабатываются объектом Date)
  • Режим рабочих дней пропускает субботу и воскресенье в обе стороны; положительные значения движутся вперёд, отрицательные — назад
  • Режим только будни считает только с понедельника по пятницу — тот же набор Пн–Пт, полезно при отсутствии данных о праздниках
  • Панель диапазона дат анализирует любой интервал начало–конец: всего дней, целые недели, календарные месяцы и годы (с переносом дня), плюс счёт будних и выходных дней (оба конца включительно)
  • Прокручивающаяся история вычислений с последними 10 операциями: базовая дата, результат и день недели результата — копируйте любой исторический результат одним кликом
  • Метка дня недели рисуется через Intl.DateTimeFormat и следует активному языку страницы («Monday» на /en, «Pazartesi» на /tr, «Montag» на /de)
  • Даты разбираются на местный полдень во избежание ошибки на день, которая бьёт Date.parse на строках YYYY-MM-DD в зонах с отрицательным UTC
  • Результирующие даты форматируются через toLocaleDateString в активной локали — без жёсткого en-US, названия месяцев и числовые форматы следуют языку страницы

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

  1. Выберите базовую дату — введите её или нажмите Сегодня, чтобы зафиксировать текущую.
  2. Выберите операцию: Прибавить, Вычесть, Рабочие дни или Только будни.
  3. Укажите, сколько выбранной единицы (дни, недели, месяцы, годы, часы, минуты) применить; результат обновится мгновенно.
  4. Прочтите панель результата: вычисленную дату, день недели и сводку разности; копируйте дату одним кликом.
  5. Для анализа диапазона задайте начальную и конечную дату в правой панели — увидите всего дней, недели, месяцы, годы, число будних и выходных.
  6. Последние вычисления остаются в списке истории; используйте кнопку копирования в любой строке, чтобы получить более ранний результат.

Советы и лучшие практики

  • Используйте Рабочие дни / Только будни для сроков проектов и контрактных SLA, которые останавливаются на выходных.
  • Диапазон дат работает в обе стороны — если начало позже конца, калькулятор меняет их местами внутри.
  • Удерживайте спиннер поля значения, чтобы быстро пройти диапазон, следя за обновлением результата.
  • Копируйте из истории, чтобы вернуть уже вычисленный результат без повторного ввода.
  • Сочетайте этот инструмент с Конвертером часовых поясов, когда нужны и календарный сдвиг, и смена пояса.

Вопросы и ответы

В чём разница между «Рабочие дни» и «Только будни»?

В этом инструменте они идентичны — оба пропускают субботу и воскресенье и шагают с понедельника по пятницу. Реальные календари рабочих дней также пропускают государственные праздники, но данные о праздниках зависят от юрисдикции (федеральные США, банковские праздники Великобритании, национальные дни Турции и т. д.). Инструмент остаётся общим, пропуская только выходные; для полностью локализованного календаря рабочих дней принесите свой список праздников.

Как считаются календарные месяцы и годы в панели диапазона?

Месяцы вычисляются как (годы × 12) + месяцы между началом и концом, затем уменьшаются на единицу, если день месяца конца раньше дня месяца начала — так 15 фев → 14 мар считается 0 месяцами, а 15 фев → 15 мар — 1. Годы уменьшаются, если месяц конца раньше месяца начала или тот же месяц, но день раньше. Это соответствует тому, как люди думают о годовщинах.

Почему общее число дней иногда сдвинуто на один при переходе DST?

Инструмент разбирает строки YYYY-MM-DD на местный полдень, что помещает каждую дату на 12 часов от любого края полуночи/DST — это избегает классической ловушки Date.parse, где «2026-03-08» в зонах с отрицательным UTC становится 2026-03-07 23:00. Общее число дней использует Math.round на дельте миллисекунд, поэтому 23-часовой день перевода вперёд всё равно округляется до 1 дня.

Прибавление 1 месяца всегда попадает на тот же день месяца?

Почти — Date.setMonth JavaScript переносит переполнение вперёд. Прибавить 1 месяц к 31 янв даёт 3 мар в невисокосные годы (фев — 28 дней, поэтому день 31 фев становится днём 3 марта). Это совпадает с большинством банковских и плановых соглашений; если нужна другая правка («зажать до конца месяца», «последний рабочий день месяца») делайте арифметику в своём коде с явным зажимом.

Можно ли вычесть рабочие дни, чтобы найти более ранний срок?

Да. Выберите операцию Вычесть с нужной единицей или используйте Рабочие дни / Только будни с отрицательным значением — движок шагает день за днём назад и считает только Пн–Пт.

Вычисления выполняются локально?

Да. Вся арифметика дат использует встроенный объект Date браузера; ничто не отправляется на сервер, история не загружается, и инструмент работает офлайн после кеширования страницы.

Почему отображаемый формат даты отличается на страницах разных языков?

Результирующие даты и записи истории рисуются через toLocaleDateString на активном языке, поэтому /en показывает MM/DD/YYYY или DD/MM/YYYY (в зависимости от варианта en браузера), /de — DD.MM.YYYY, /fr — DD/MM/YYYY и т. д. Внутреннее вычисление работает в ISO YYYY-MM-DD; только слой отображения следует вашей локали.

Понимает ли инструмент високосные годы?

Да. Арифметика дат делегирует встроенному объекту Date, который знает, что в 2024 был 29 фев, а в 2025 нет. Прибавление 1 года к 29 фев 2024 даёт 1 мар 2025; это соответствует спецификации JavaScript и большинству календарных приложений. Если нужна правка «зажать до 28» в невисокосные годы, выполняйте постобработку в своём коде.