Field guide

How to calculate a shift that crosses midnight

How to calculate overnight shift hours that cross midnight. Use explicit calendar dates to make overnight time unambiguous for U.S. hourly workers.

Reviewed 2026-09-12 · Shift Ledger

Attach dates to clock times

A 10:00 PM start on September 10 and 6:00 AM finish on September 11 spans midnight. The first portion is 2 hours; the second is 6 hours. Together they are 8 hours before unpaid breaks.

Account for overnight breaks

An unpaid break from 1:00 AM to 1:30 AM is 30 minutes, leaving 7 hours 30 minutes, or 7.50 decimal hours. A break from 11:50 PM to 12:10 AM lasts 20 minutes, not a negative duration. Enter the length of the break.

Resolve equal times explicitly

9:00 AM to 9:00 AM might mean zero hours or a full day. The calculator asks you to distinguish them: a full-day shift needs the following end date. Leave a timecard day empty when no time was worked.

Understand clock-change nights

A wall-clock calculation is not a timezone-aware elapsed-time calculation. During daylight-saving transitions, the repeated or skipped hour changes actual elapsed time. This site labels results as wall-clock duration; use verified punches with offsets for those nights.

Keep workweeks separate

When a shift runs over your workweek boundary, split it at the boundary and put each unpaid break in its actual week. A pay period covering two weeks does not combine those weeks for the simplified overtime rule.

Frequently asked questions

How do I calculate overnight hours for a timecard?

Enter the start date and time, then the end date and time. The calculator handles midnight automatically. Use the overnight shift calculator for shifts crossing midnight.

Does daylight-saving time affect my overnight shift?

The calculator shows wall-clock duration. During daylight-saving transitions, your actual elapsed time may differ by one hour. Use verified punches with UTC offsets for precise calculations.

Open the Overnight Shift Calculator →

Found an issue? Contact the maintainer with the example and expected result. Please omit personal timecards.