Перейти к основному содержимому
LibraTool logoLibraTool

Калькулятор рабочих дней — бесплатно

Считайте рабочие дни между датами или прибавляйте/отнимайте рабочие дни от даты. Настраиваемые выходные и список праздников.

Работает офлайн после загрузки

Выходные (нерабочие) дни

0 праздников настроено

Частые применения

  • Рабочие дни для сроков проектаРассчитайте реалистичный график проекта, исключив выходные и праздники.
  • Отслеживание времени ответа SLA в рабочих дняхSLA клиента часто указывают ответ в 'рабочих днях' - рассчитайте точно, когда истекает крайний срок в 5 рабочих дней.
  • Рассчитайте дни отпуска / PTOСколько рабочих дней вы фактически возьмете? Рассчитайте точное количество рабочих дней для заявок на отпуск.
  • Сроки подачи правительственных документовНалоговые декларации, судебные сроки, нормативные подачи - часто рассчитываются в рабочих днях.
  • Расчетные сроки доставкиРассчитайте ожидаемые сроки доставки для отправлений, указанные в рабочих днях.

Как это работает

Этот инструмент полностью работает в браузере без внешних библиотек — вся арифметика дат это написанный вручную JavaScript, использующий нативный объект Date. У него два режима: подсчёт рабочих дней между двумя датами, и проецирование будущей (или прошлой) даты путём добавления или вычитания заданного количества рабочих дней.

  1. 1
    Разбор даты без дрейфа UTC
    Вводы дат разбираются путём разделения строки ГГГГ-ММ-ДД на части года, месяца и дня и построения локального Date — а не Date.parse() — так что результат всегда является введённым вами календарным днём, независимо от вашего смещения часового пояса.
  2. 2
    Проверка и поиск праздников
    Каждая запись праздника сопоставляется со строгим регулярным выражением ГГГГ-ММ-ДД, затем перепроверяется путём реконструкции Date и сравнения его частей обратно — так что невозможные даты вроде 2026-02-31 отклоняются и помечаются в UI, а не тихо перекатываются на март. Валидные записи хранятся в Set, индексированном строкой локальной даты, для поиска O(1) во время цикла.
  3. 3
    Итерация день за днём с настраиваемыми выходными
    Для режима 'подсчитать между датами' инструмент проходит по каждому календарному дню в диапазоне, проверяя каждый по вашим настроенным дням выходных (любая комбинация семи дней) и Set праздников, затем отдельно подсчитывает рабочие дни, выходные дни и затронутые праздники. Для режима 'добавить рабочие дни' он шагает вперёд или назад по одному дню за раз, пропуская нерабочие дни, пока не будет исчерпано запрошенное количество рабочих дней.
  4. 4
    Отображение результата с учётом локали
    Финальная дата в режиме 'добавить' форматируется со встроенным Intl браузера через toLocaleDateString(), так что она рендерится на местном языке пользователя и с конвенцией календаря без какой-либо дополнительной библиотеки.

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

Часто задаваемые вопросы