Калькулятор рабочего времени
Посчитайте отработанные часы за неделю для табеля: укажите время начала и окончания работы и продолжительность перерыва для каждого дня.
Начало
Конец
Перерыв, мин
Логика вычислений
Калькулятор считает отработанное время за неделю. Для каждого дня по отдельности вычисляется чистая продолжительность работы по времени начала и окончания смены за вычетом перерыва, затем дневные значения суммируются в общий недельный итог. День, для которого не заданы и начало, и конец, в расчёте не участвует.
Сначала время начала и окончания смены переводится из формата «часы:минуты» в десятичные часы:
t = h + m / 60
где:
- t — момент времени в десятичных часах (например, 8:30 = 8,5);
- h — часы из введённого времени, ч;
- m — минуты из введённого времени, мин.
Продолжительность смены за день — это разница между окончанием и началом. Если окончание оказывается раньше начала, значит смена переходит через полночь, и к разнице добавляется 24 часа:
Δ = t_кон − t_нач Δ = t_кон − t_нач + 24 (если смена через полночь)
где:
- Δ — продолжительность смены до вычета перерыва, ч;
- t_нач, t_кон — время начала и окончания работы в десятичных часах, ч.
Из продолжительности смены вычитается перерыв, переведённый из минут в часы. Это и есть отработанные часы за день:
T_день = Δ − B / 60
где:
- T_день — отработанные часы за день, ч;
- B — продолжительность перерыва, мин.
Общий итог за неделю — сумма отработанных часов по всем заполненным дням:
T_итог = Σ T_день
где:
- T_итог — всего отработанных часов за неделю, ч.
Примеры расчётов
| Пример | Начало (ч:мин) | Окончание (ч:мин) | Перерыв (мин) | Продолжительность Δ (ч) | Отработано за день / за неделю (ч) | Комментарий |
|---|---|---|---|---|---|---|
| Стандартный день | 9:00 | 18:00 | 60 | 18 − 9 = 9 | 9 − 60/60 = 8 | Обычная смена с часовым обедом. |
| С минутами | 8:30 | 17:00 | 45 | 17 − 8,5 = 8,5 | 8,5 − 45/60 = 7,75 | Время в десятичных часах: 8:30 = 8,5. |
| Через полночь | 22:00 | 6:00 | 30 | 6 − 22 + 24 = 8 | 8 − 30/60 = 7,5 | Окончание раньше начала — добавляем 24 ч. |
| Без перерыва | 10:00 | 14:00 | 0 | 14 − 10 = 4 | 4 − 0/60 = 4 | Короткая смена, перерыв не задан. |
| Пустой день | — | — | — | — | не учитывается | Нет начала и конца — день в расчёт не идёт. |
| Итог за неделю | — | — | — | — | 8 + 7,75 + 7,5 + 4 = 27,25 | Сумма отработанных часов по заполненным дням. |
