Guide
Night shifts that cross midnight, and the two odd nights a year
A shift from 22:00 to 06:00 is eight hours, and every timesheet that computes it by subtracting the start from the finish gets minus sixteen. The fix is trivial once you see it, and the reason it keeps happening is that a shift is a pair of instants while a timesheet usually stores a pair of clock readings.
The crossing-midnight rule
If the finish time is earlier than the start time, the shift ended on the following date, so add 24 hours before subtracting. That single rule handles almost every night shift correctly. The exception is a shift longer than 24 hours, which the rule cannot detect at all: for those, the date has to be recorded rather than inferred.
Recording both dates is the better practice in any case. It removes the guesswork, it makes the record auditable, and it copes with the situations below.
Which date does the shift belong to?
This is a policy question, not an arithmetic one, and it matters for weekly totals, for overtime thresholds and for premium pay. Common answers are: the date the shift started, the date on which the majority of the hours fell, or a split across both dates. Any of them can be right. What causes trouble is different systems in the same organisation using different ones, so a week that balances in payroll does not balance in scheduling.
The two odd nights a year
In places that observe daylight saving, one night each spring is an hour shorter and one night each autumn is an hour longer. A 22:00 to 06:00 shift really is seven hours on one and nine on the other, measured as elapsed time, even though the clock readings are identical.
Payroll rules differ on how to handle it. Some pay the hours actually worked, which is the honest reading. Some pay the scheduled hours on both nights, so the two cancel out over the year. Some pay a premium for the long night. What matters is that the rule exists and is known before the night in question, because staff notice this one immediately.
The autumn night has a second wrinkle: one local hour repeats, so a clock reading of 01:30 is genuinely ambiguous. Anything time-critical that night should be logged in UTC, or with an explicit note about which pass through the hour is meant.
Practical checklist
- Record dates as well as times for any shift that can cross midnight.
- Compute elapsed time from instants, not by subtracting local readings.
- Write down which date a crossing shift is attributed to, and apply it everywhere.
- Decide the clock-change policy in advance, in writing.
For the ordinary case, the time card calculator handles shifts that run past midnight, so the total comes out as eight hours rather than as a negative number.