Hours Between Two Clock Times: The Timesheet Math
A shift's total hours look like simple subtraction — clock-out minus clock-in — until the break comes off, or the shift runs past midnight, and now "later minus earlier" doesn't work. Converting both clock times to minutes since midnight turns all of it into ordinary subtraction, with one extra rule for the midnight case.
The method: minutes since midnight, then subtract
span (minutes) = end time − start time
If that comes out negative, the shift crossed midnight, so add a full day back: span + 1,440 minutes (24 hours × 60). Then take off the break:
worked minutes = span − break minutes
Divide by 60 for decimal hours, or split into whole hours and a remainder for a clock-style H:M figure.
A worked example: a standard day shift
Clock in 09:00, clock out 17:30, 30-minute break. In minutes since midnight: 09:00 = 540, 17:30 = 1,050. Span: 1,050 − 540 = 510 minutes (8 hours 30 minutes) — positive, so no midnight crossing. Subtract the break: 510 − 30 = 480 minutes, which is 480 ÷ 60 = 8 hours exactly, or 8:00.
A second example: an overnight shift
Clock in 22:00, clock out 06:00, 45-minute break. In minutes: 22:00 = 1,320, 06:00 = 360. Span: 360 − 1,320 = −960, negative, so the shift crossed midnight — add 1,440: −960 + 1,440 = 480 minutes (8 hours), the same span as the first example even though the clock times look nothing alike. Subtract the break: 480 − 45 = 435 minutes = 435 ÷ 60 = 7.25 hours, or 7:15.
A third example: a shift where the decimal and the clock disagree on the eye test
Clock in 08:15, clock out 16:47, 35-minute break. In minutes: 495 and 1,007. Span: 1,007 − 495 = 512 minutes (8 hours 32 minutes). Subtract the break: 512 − 35 = 477 minutes. As decimal hours: 477 ÷ 60 = 7.95. As clock time: 477 ÷ 60 = 7 remainder 57, so 7:57. Both describe the same 477 minutes, but 7.95 and 7:57 look like they disagree until you remember 0.95 hours is 0.95 × 60 = 57 minutes, not 95 — the point that actually matters for payroll, since multiplying an hourly rate by 7.95 is correct and multiplying it by 7.57 is not.
An edge case worth knowing: a break longer than the shift
Clock in 09:00, clock out 09:20 (a 20-minute shift), 30-minute break. Span: 20 minutes. The break, 30 minutes, is longer than the shift itself, which is a mistake in the input, not a night shift to reinterpret — so the tool reports it plainly rather than guessing: the break (0h 30m) is longer than the shift (0h 20m). A tool that quietly wrapped this into a negative-then-wrapped number could print a shift of over 23 hours from a typo, which on something sold for timesheets turns a data-entry slip into a wrong invoice.
What the tool adds
The subtraction above — minutes since midnight, add a day back if it goes negative, take off the break — is all you need, on paper, to turn any two clock times and a break into worked hours. The tool's job is just speed and not doing minute arithmetic in your head across a possible midnight: enter the times and the break, and it prints both the decimal and clock-style totals instantly, entirely on your device.