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.

Common questions

What if my shift ends exactly at midnight?

An end time of 00:00 is treated as the start of the following day. Because it is earlier than or equal to most start times, add 24 hours to it before subtracting.

Do I need to know the actual dates?

No. The rule only depends on whether the end time is earlier than or equal to the start time on the clock. The clock times alone are enough to calculate the span.

Are breaks on overnight shifts unpaid?

It depends on your employer and local rules, just like day shifts. Confirm whether each break is paid or unpaid before deducting it. This guide explains the arithmetic, not your legal entitlements.

How do I convert 7 hours 30 minutes to decimal?

Divide the minutes by 60 and add to the hours: 30 ÷ 60 = 0.50, so 7 hours 30 minutes is 7.50 decimal hours.

Try the related calculator

Work Hours CalculatorAdd up a full week of shifts, breaks, overtime and estimated pay.Shift CalculatorCalculate the length of a single shift, including overnight shifts and breaks.
← Back to all guides