Skip to content

Date & Time

Time Card Calculator

Enter a week of clock-in and clock-out times with unpaid breaks and get daily totals, overtime split, and decimal hours formatted for payroll.

Mon—
Tue—
Wed—
Thu—
Fri—
Sat—
Sun—

Times accept 24-hour (09:00) or AM/PM (9:00 AM). Breaks in unpaid minutes. Overnight shifts (out earlier than in) count as the next day.

How the Dates Are Calculated

  1. Enter clock-in, clock-out, and break minutes for each day of the week — blank days are skipped.
  2. Each day is computed as (out − in) − break, handling shifts that cross midnight.
  3. Daily hours above your overtime threshold (8 by default) are split into regular and overtime.
  4. Weekly totals are shown in h:mm and decimal form, which is what most payroll systems expect.
Formula & Technical Standard
Day hours = (out − in) − break, with out < in interpreted as crossing midnight. Decimal hours = total minutes ÷ 60. OT = max(0, day − threshold).

Worked Example

Standard week
Input: Mon–Fri 9:00–17:30, 30-min break
Output: 8.0 h/day → 40.00 h weekly, 0 OT
Nine hours on site minus the unpaid half hour is a clean 8:00 per day — exactly 40.00 decimal hours for the week.
Night shift crossing midnight
Input: 22:00–06:00, 30-min break
Output: 7.5 h
The calculator treats 06:00 as the next day: 8 hours on site minus the break, the common 7.5 paid hours of an 8-hour night shift.

Common Questions

How do I enter a shift that ends after midnight?

Enter the end time as it appears on the clock (06:00); the tool detects that it is earlier than the start time and counts it as the next day automatically.

Are breaks subtracted automatically?

Only what you enter. Enter unpaid break minutes per day; paid breaks should be left at 0. Check your local labor rules or contract for what counts as paid time.

What is the overtime threshold?

Configurable, defaulting to 8 hours/day. Common standards include 40 hours/week (US FLSA) or 8 hours/day (California daily OT) — set the threshold that matches your jurisdiction or agreement.

Can I use 24-hour and AM/PM times?

Both. Times parse as 24-hour by default, but inputs like 2:30 PM are understood and normalized automatically.