Производственный календарь Онлайн — точный расчёт дней и часов

Производственный календарь: расчёт календарных и рабочих дней

Данный инструмент позволяет выполнить расчёт количества дней в произвольном интервале дат с учётом официального производственного календаря РФ. Калькулятор автоматически детектирует календарные дни, рабочие дни, выходные и праздничные дни, а также суммарное рабочее время в часах для 40-часовой рабочей недели. Расчёт ведётся для периода с 01.01.1992 по 31.12.2026 с полной поддержкой всех утверждённых переносов праздников и предпраздничных сокращённых дней.

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

Инструмент содержит два независимых функциональных модуля. Ну, или, проще говоря, две вкладки.

  • Вкладка «Подсчёт дней между датами»: Укажите начальную и конечную даты периода. Выберите год календаря (опция «Авто» определяет год по датам периода). Принудительная фиксация года нужна, если праздничные переносы фактически относятся к другому году (например, январские каникулы). Отметьте флаги «Включать начальную дату» и «Включать конечную дату». При необходимости добавьте исключаемые периоды (например, командировки или отпуска). Результат отобразится автоматически: количество календарных дней, рабочих дней, выходных/праздников и рабочих часов (40-часовая неделя, с учётом сокращения предпраздничных дней на 1 час).
  • Вкладка «Прибавить / вычесть дни»: Укажите опорную дату. Выберите операцию: прибавить или вычесть. Введите количество дней. Выберите тип дней: календарные или рабочие (расчёт ведётся с пропуском нерабочих дней). Итоговая дата отобразится крупным шрифтом.

Содержание

Математическая модель расчёта

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

Базовые множества нерабочих дней:

  • Фиксированные нерабочие праздничные даты (ст. 112 ТК РФ): 01.01–08.01 (Новогодние каникулы), 07.01 (Рождество), 23.02 (День защитника Отечества), 08.03 (Международный женский день), 01.05 (Праздник Весны и Труда), 09.05 (День Победы), 12.06 (День России), 04.11 (День народного единства).
  • Субботы и воскресенья — автоматически считаются нерабочими.
  • Перенесённые выходные — добавляются к нерабочим дням согласно постановлениям Правительства РФ.
  • Рабочие субботы — исключаются из множества нерабочих дней.
  • Предпраздничные сокращённые дни — фиксируются отдельно; продолжительность рабочего дня в них уменьшается на 1 час.

Алгоритм для вкладки «Подсчёт дней между датами»:

Пусть \( S \) — начальная дата, \( E \) — конечная дата, \( f_{start} \in \{0,1\} \) — флаг включения начальной даты, \( f_{end} \in \{0,1\} \) — флаг включения конечной даты. Тогда эффективный период:

\[ S_{eff} = S + (1 - f_{start})\ \text{(+1 день)} \] \[ E_{eff} = E - (1 - f_{end})\ \text{(–1 день)} \]

Для каждой даты \( d \) в интервале \([S_{eff}, E_{eff}]\) проверяется: принадлежность к исключаемым периодам (если заданы) — такие даты пропускаются; является ли \( d \) нерабочим днём (множество \( N \) для заданного года); является ли \( d \) предпраздничным сокращённым днём (множество \( P \)).

Тогда:

\[ CalendarDays = \sum_{d = S_{eff}}^{E_{eff}} 1 \] \[ WorkingDays = \sum_{d = S_{eff}}^{E_{eff}} [d \notin N] \] \[ WeekendHolidayDays = CalendarDays - WorkingDays \] \[ PreHolidayCount = \sum_{d = S_{eff}}^{E_{eff}} [d \in P] \] \[ WorkingHours_{40h} = WorkingDays \times 8 - PreHolidayCount \]

Алгоритм для вкладки «Прибавить / вычесть рабочие дни»:

Исходная дата \( D_0 \). Цель — найти дату \( D_k \), такую что количество нерабочих дней между \( D_0 \) и \( D_k \) (исключая \( D_0 \)) равно \( k \) при шаге \( step \in \{+1, -1\} \). Алгоритм итеративно двигается на 1 день в заданном направлении, проверяя каждую результирующую дату на принадлежность к \( N \). Дата считается найденной, когда счётчик рабочих дней достигает заданного числа \( k \).

Примеры расчёта

Пример 1. Расчёт продолжительности командировки

Один наш клиент как-то спросил: «А как посчитать командировку, если внутри неё был отзыв на день?». Всё просто: используем исключаемые периоды. Вот базовый случай. Сотрудник направлен в командировку с 12 мая 2025 г. по 25 мая 2025 г. включительно. Нужно определить количество календарных и рабочих дней.

  • Начальная дата: 12.05.2025
  • Конечная дата: 25.05.2025
  • Флаги: включены обе даты
  • Год календаря: Авто

Результат:

  • Календарные дни: 14
  • Рабочие дни: 10 (выходные 17–18, 24–25 мая)
  • Выходные и праздники: 4
  • Рабочие часы (40-ч): 80 ч. (10 × 8)

Дополнительно: если внутри периода есть исключаемый период (например, отзыв из командировки на 1 день), его можно добавить для точного учёта.

Пример 2. Дата окончания работ с учётом только рабочих дней

Подрядчик должен выполнить работы за 30 рабочих дней, начиная с 3 марта 2026 г. Требуется рассчитать дату завершения.

  • Опорная дата: 03.03.2026
  • Операция: Прибавить
  • Количество дней: 30
  • Тип дней: Рабочие

Результат: Дата события: 14.04.2026

Пояснение: с 03.03 по 14.04 — 30 рабочих дней. Калькулятор пропустил все субботы, воскресенья и праздничные дни (включая 08.03). При этом 30 апреля 2026 г. — предпраздничный сокращённый день, что влияет на расчёт часов, но не на счёт дней.

Нормы рабочего времени (таблица для 2026 года)

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

Период Рабочие дни Выходные и праздники Часы при 40-ч неделе Часы при 36-ч неделе
Январь 15 16 120 108
Февраль 19 9 152 136,8
Март 21 10 168 151,2
Апрель 22 8 175 157,4
Май 19 12 151 135,8
Июнь 21 9 167 150,2
Июль 23 8 184 165,6
Август 21 10 168 151,2
Сентябрь 22 8 176 158,4
Октябрь 22 9 176 158,4
Ноябрь 20 10 159 143
Декабрь 22 9 176 158,4
Итого 2026 247 118 1972 1774,4

Примечание: таблица приведена для справки. Калькулятор использует точные помесячные данные для всех лет с 2022 по 2026.

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

Какие годы производственного календаря загружены в калькулятор?

Полные данные с переносами и предпраздничными днями доступны для 2022–2026 годов. Для дат до 01.01.1992 расчёт не производится. Для дат после 31.12.2026 используется стандартная логика (выходные — суббота и воскресенье) без учёта переносов, о чём выводится предупреждение.

Как учесть отпуск или больничный при расчёте рабочих дней?

Используйте кнопку «+ Добавить исключаемый период» на вкладке «Подсчёт дней между датами». Укажите даты начала и окончания исключаемого интервала. Эти дни будут исключены из расчёта всех метрик. Периоды не должны пересекаться между собой. Один бухгалтер как-то пожаловался, что забыл про пересечение — калькулятор подсказал ошибку.

Почему расчёт на вкладке «Прибавить / вычесть рабочие дни» может дать дату, отличающуюся от ручного счёта?

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

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

Нет. В калькулятор заложены только федеральные нерабочие праздничные дни и переносы, установленные Правительством РФ. Праздники, установленные нормативными актами субъектов РФ (например, Ураза-байрам в Татарстане или Курбан-байрам в Башкортостане), не учитываются. При необходимости вы можете добавить их как исключаемый период вручную.

Что означают «предпраздничные сокращённые дни» и как они влияют на расчёт часов?

В соответствии с ч. 1 ст. 95 ТК РФ, продолжительность рабочего дня, непосредственно предшествующего нерабочему праздничному дню, уменьшается на 1 час. В калькуляторе эти дни помечены звёздочкой в исходных данных. Итоговое рабочее время = (количество рабочих дней × 8) — количество предпраздничных дней. Например, для мая 2026 года: 19 рабочих дней, 1 предпраздничный (08.05), итого часов = 19 × 8 — 1 = 151 час.