How to Calculate Overnight Shift Hours
Overnight shifts trip up time calculations because the end time is numerically smaller than the start time. This guide explains why that happens, the simple rule that fixes it, and how to subtract breaks and convert to decimal hours.
Why crossing midnight causes calculation mistakes
For a daytime shift, the end time is later than the start time, so subtracting start from end gives the correct span. An overnight shift breaks that assumption: a shift from 22:00 to 06:00 has an end time (06:00) that is smaller than the start time (22:00). Naively subtracting gives 06:00 − 22:00 = −16 hours, which is obviously wrong.
The mistake is treating both times as being on the same day. They are not — the end time is on the following calendar day. Once you account for that, the arithmetic is straightforward.
Treat the end time as the following day
The rule is simple: whenever the end time is earlier than or equal to the start time, add 24 hours to the end time before subtracting. This shifts the end time onto the next day and gives a positive, correct span.
You do not need to know the actual calendar date. The clock times alone are enough, because the rule only depends on whether the end is “before” the start on the clock face.
If end ≤ start, shift length = (end + 24 hours) − start
Subtracting unpaid breaks
Once you have the gross shift length, subtract any unpaid break just as you would for a daytime shift. Enter the break in minutes and remove it from the span. Paid rest breaks are not subtracted.
Whether a break on a night shift is paid or unpaid follows the same rules as day shifts and depends on your employer and local rules — confirm it rather than assuming.
Net work time = shift length − unpaid break
Decimal-hour conversion
After finding the net work time, convert it to decimal hours for payroll by dividing the minutes part by 60 and adding it to the whole hours. Thirty minutes becomes 0.50 hours, forty-five becomes 0.75, and so on.
Decimal hours = hours + (minutes ÷ 60)
Worked example
A shift from 22:00 to 06:00 with a 30-minute unpaid break. Because 06:00 is earlier than 22:00, add 24 hours to the end: (06:00 + 24) − 22:00 = 8 hours. Subtract the 30-minute break for a net work time of 7 hours 30 minutes. In decimal form that is 7.50 hours (30 ÷ 60 = 0.50). At $20 per hour, estimated pay is 7.50 × $20 = $150.00.
Common mistakes
The biggest mistake is subtracting the start from the end without checking whether the shift crosses midnight, which produces a negative span. A close second is recording an overnight shift with the clock-out on the “wrong” day and then double-counting or missing a day.
Another error is forgetting that the break still applies — overnight shifts have breaks too, and an unpaid lunch must still be deducted. Finally, watch the AM/PM markings on a 12-hour time card: a 6:00 clock-out must be 06:00 AM, not 18:00.