ToolActToolAct

Калькулятор Рабочих Дней

Вычисляет рабочие дни в диапазоне дат

Расчёт Рабочих Дней

Что такое Калькулятор Рабочих Дней?

Калькулятор рабочих дней считает, сколько реально доступных рабочих дней находится в выбранном диапазоне дат после исключения выходных и указанного числа праздников. Он полезен для оценки сроков поставки, планирования отпуска, расчета зарплаты, счетов, найма и проектных графиков, где обычные календарные дни слишком грубы. Рабочий день не всегда равен календарному: выходные суббота-воскресенье или пятница-суббота, региональные праздники, корпоративные каникулы и переносы рабочих дней могут изменить результат. Инструмент дает быструю оценку на основе выбранной схемы выходных и введенного числа праздников. Для кадровых, юридических и договорных задач результат нужно сверять с официальным календарем. При совместном использовании нужно заранее прояснить входные данные, допущения и ожидаемый результат, чтобы вывод не поняли неверно.

Инструкция по использованию

Инструкция по использованию

  1. Введите дату начала и дату окончания
  2. Выберите параметр исключения выходных (Сб-Вс / Пт-Сб / Нет)
  3. Введите количество государственных праздников (необязательно)
  4. Нажмите «Рассчитать рабочие дни» для просмотра результатов

Предположения календаря

  • Перед расчётом установите правила выходных; календари с пятницей-субботой, субботой-воскресеньем и без выходных дают разные итоги.
  • Государственные праздники и дни закрытия компании должны вводиться отдельно, если их необходимо исключить.

Применение

Оценка реальной рабочей ёмкости между двумя датамиВыберите начальную и конечную даты включительно, затем рассчитайте общее число дней, выходные, вручную введённые праздники и оставшиеся рабочие дни. Результат полезен для грубой оценки ёмкости спринта, планирования поставок, окон адаптации и обсуждения SLA до полноценного календарного анализа.
Адаптация правила выходных под регион или график командыВыберите суббота-воскресенье, пятница-суббота или без исключения выходных вместо предположения единой рабочей недели. Это делает расчёт полезнее для распределённых команд, трансграничных подрядчиков и операций с нестандартным календарём.
Проверка сроков отпусков, закупок и передачВведите известное количество государственных праздников для вычитания из общего числа рабочих дней и используйте результат как контрольную точку планирования. Инструмент не знает локальных дат праздников, переносов рабочих дней, неполных дней и корпоративных выходных, поэтому финальные сроки всё равно нужно сверять с официальным календарём. Китайские графики также включают тяосю (переносы рабочих дней), превращающие обычный выходной в рабочую субботу или воскресенье — они не переключаются автоматически, страница видит только схему выходных и число праздников, поэтому неделю тяосю на Китайский Новый год нужно отразить вручную в поле праздников или изменением правила выходных.
Повторный расчёт того же диапазона с разным числом праздников для сравнения сценариевПереключите поле праздников с 0 на 5, 10 или 15 и пересчитайте, чтобы увидеть, насколько агрессивен или консервативен график. Визуальная разница полезна при обосновании дедлайна заинтересованной стороне, у которой другое представление о праздниках в диапазоне. Для западных календарей федеральный список праздников (Новый год, День Мартина Лютера Кинга, День президентов, День памяти, День независимости, День труда, День Колумба, День ветеранов, День благодарности, Рождество) обычно даёт 10–11 рабочих дней в год, а списки на 2025–2027 публикуются OPM заблаговременно, так что количество можно посмотреть напрямую.
Перевод результата в рабочих днях обратно в календарную датуИспользуйте результат как входные данные для связанного инструмента арифметики дат, прибавив число рабочих дней к известной начальной дате с тем же правилом выходных. Это даст прогнозируемую дату окончания, которую можно вставить в Jira, поле SLA или приглашение на собеседование без повторного ввода схемы выходных.

Технический принцип

Подсчёт рабочих дней — это количество календарных дней в включительном диапазоне `[начало, конец]`, которые не являются ни выходными, ни праздниками. Стандартная формула для включительного диапазона: `всего_дней = (конец - начало) / 86_400_000 + 1`, когда обе границы нормализованы к полуночи UTC, затем вычитаются выходные и праздничные дни. День недели определяется через `Date.prototype.getDay()`, возвращающий `0` для воскресенья до `6` для субботы — обратите внимание на распространённую ошибку: `getDay()` — это не `getDate()`, и результат зависит от часового пояса браузера, поэтому UTC-дата, пересекающая полночь, может попасть на другой день недели, чем ожидалось. Паттерн выходных различается по регионам: глобальное значение по умолчанию — суббота-воскресенье (западные страны, Индия, большинство стран Азии), но на Ближнем Востоке исторически использовались четверг-пятница, и к 2024 году большинство стран Персидского залива (ОАЭ, Бахрейн, Кувейт, Катар) перешли на пятницу-субботу или даже субботу-воскресенье с неполной пятницей. Иран, Афганистан и части Южной Азии по-прежнему соблюдают только пятницу; Израиль — пятницу-субботу. Инструмент предоставляет три стандартных пресета: суббота-воскресенье, пятница-суббота и «без исключения», а праздничные дни покрываются вычитанием. Сам алгоритм подсчёта имеет две практичные реализации. Наивная итерация перебирает дни по одному: `for (let d = start; d <= end; d.setDate(d.getDate()+1)) if (![0,6].includes(d.getDay())) count++`. Это O(n) по календарным дням и тривиально читается. Альтернатива в замкнутой форме вычисляет `полные_недели * 5 + рабочие_дни_в_неполной_неделе` и работает за O(1), что важно для диапазонов, охватывающих много лет. Праздники, выпадающие на выходные, не должны вычитаться дважды, поэтому канонический паттерн — фильтровать праздники через `holidays.filter(h => !isWeekend(h)).length`. Китайская система тяосю (перенос рабочих дней) добавляет сложность, которую чистая логика выходных не может отразить: Госсовет ежегодно публикует список, превращающий конкретные субботы или воскресенья в рабочие дни для компенсации удлинённых каникул на Китайский Новый год или Национальный праздник, поэтому для китайского календаря список праздников должен сопровождаться явным списком «отработок», а не только правилом дня недели.

  • Формула включительного диапазона: `всего_дней = (конец - начало) / 86_400_000 + 1` с обеими датами, нормализованными к полуночи UTC, для избежания смещения при переходе на летнее время.
  • `Date.prototype.getDay()` возвращает от 0 (вс) до 6 (сб) в локальном часовом поясе браузера — не UTC, поэтому для timezone-зависимого кода следует использовать `getUTCDay()`.
  • Пресеты выходных: сб-вс (западные страны, Индия, большинство Азии), пт-сб (большинство стран Персидского залива с 2006-2013), только пт (Иран), без исключений (круглосуточные операции).
  • Формула O(1) в замкнутой форме: `полные_недели * 5 + доп_рабочие_дни_в_неполной_неделе`; предпочтительнее итерации по дням для многолетних диапазонов.
  • Праздники, выпадающие на выходные, не должны вычитаться дважды: вычитайте `holidays.filter(h => !isWeekend(h)).length`, а не общее число праздников.
  • Китайское тяосю (Госсовет): отдельные субботы/воскресенья становятся法定ными рабочими днями для компенсации удлинённых каникул; требуется явный список отработок.
  • Государственные праздники США (согласно 5 U.S.C. § 6103) составляют 11 рабочих дней в календарном году: Новый год, День Мартина Лютера Кинга, День президентов, День памяти, День независимости (Juneteenth), День независимости, День труда, День Колумба, День ветеранов, День благодарности, Рождество.

Примеры

Рабочие дни календарного 2026 года

Дата начала: 2026-01-01
Дата конца:  2026-12-31
Выходные:    суббота и воскресенье
Праздники:   13  (государственные праздники Китая после 调休)

Всего дней:   365
Выходных:     104
Праздников:   13
Рабочих дней: 248

Ёмкость двухнедельного спринта

Дата начала: 2026-06-15 (понедельник)
Дата конца:  2026-06-26 (пятница)
Выходные:    суббота и воскресенье
Праздники:   0

Всего дней:   12
Выходных:     2
Рабочих дней: 10  (полный двухнедельный спринт, 4 разработчика => 40 рабочих дней)

Команда на Ближнем Востоке с выходными в пятницу-субботу

Дата начала: 2026-09-01
Дата конца:  2026-09-30
Выходные:    пятница и суббота
Праздники:   1  (региональный праздник)

Всего дней:   30
Выходных:     8   (пт + сб в сентябре)
Рабочих дней: 21

Период онбординга после государственного праздника

Дата начала: 2026-10-08  (первый рабочий день после Golden Week)
Дата конца:  2026-10-30
Выходные:    суббота и воскресенье
Праздники:   0

Всего дней:   23
Выходных:     6
Рабочих дней: 17  (достаточно времени для 3-недельного плана онбординга)

Планирование Q1 2027 с федеральными праздниками США

Дата начала: 2027-01-01
Дата конца:  2027-03-31
Выходные:    суббота и воскресенье
Праздники:   4  (New Year, MLK Day, Presidents Day, Good Friday)

Всего дней:   90
Выходных:     26
Рабочих дней: 60

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

Как считаются рабочие дни?

По умолчанию учитываются понедельник–пятница, суббота и воскресенье пропускаются. Праздники, указанные в списке, также исключаются. Страница показывает общее число календарных дней, выходных, праздников и итоговое число рабочих дней.

Государственные праздники применяются автоматически?

Нет. Калькулятор не подгружает праздники автоматически. Количество праздничных дней нужно ввести вручную. За точными цифрами обращайтесь к официальному календарю вашей страны.

Учитываются ли «отрабатываемые» субботы (调休)?

Нет. Калькулятор исключает только выходные и введённое вами число праздников. Он не обрабатывает китайскую систему 调休 (перенос рабочих дней) и аналогичные политики автоматически. Если в вашем графике есть отработки, скорректируйте правило выходных или число праздников вручную.

Можно ли исключить только выходные, но не праздники?

Да. Отключите список праздников, и расчёт будет учитывать только субботу и воскресенье. Можно также настроить, какие дни считаются выходными — например, в некоторых странах Ближнего Востока выходные приходятся на пятницу и субботу.

Чем этот инструмент отличается от калькулятора разницы дат?

Калькулятор разницы дат возвращает календарные дни. Этот инструмент возвращает рабочие дни, пропуская выходные и праздники. Используйте его для сроков проектов, контрактных дат и SLA, а разницу дат — для общего прошедшего времени.

Работает ли он для прошедших дат?

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

Загружаются ли мои данные на сервер?

Нет. Расчёт выполняется в вашем браузере. Количество праздников и даты не сохраняются и не передаются.

Связанные Инструменты

Калькулятор Разницы Дат

Бесплатный онлайн калькулятор разницы дат. Вычисляет дни, недели, месяцы, годы между двумя датами. Точные расчёты с отображением часов, минут, секунд.

Калькулятор Сложения/Вычитания Дат

Бесплатный онлайн калькулятор сложения/вычитания дат. Добавляет или вычитает дни, недели, месяцы, годы из даты. Быстрые опции для мгновенных расчётов.

Калькулятор Возраста

Бесплатный онлайн калькулятор возраста. Вычисляет точный возраст, китайский зодиак, общие дни жизни и дни до следующего дня рождения по дате рождения.

Инструмент преобразования меток времени

Бесплатный онлайн-конвертер Unix-меток времени в дату и обратно. Поддержка секунд, миллисекунд и нескольких часовых поясов — удобно для отладки и логов.

Таймер Помодоро

Бесплатный онлайн-таймер Помодоро: 25 минут концентрации и 5 минут отдыха. Помогает удерживать фокус и формировать полезные рабочие привычки.

Таймер обратного отсчета

Бесплатный онлайн-таймер обратного отсчёта: задайте целевое время, добавьте напоминание и следите за отсчётом с точностью до секунды для любых событий.