Finance

How to Calculate Hours Worked from a Time Card

6 min read

Total hours worked equals clock-out time minus clock-in time, minus any unpaid break, converted to decimal hours by dividing the minutes by 60. Overnight shifts need one extra step, since the end time falls on the following calendar day.

The formula

Same-day shift:

Hours = (End time − Start time in minutes − unpaid break in minutes) ÷ 60

Overnight shift (end time earlier than start time, e.g. 22:00 to 06:00): add 24:00 (1440 minutes) to the end time before subtracting, since it belongs to the next calendar day.

Hours = (End time + 1440 − Start time in minutes − unpaid break in minutes) ÷ 60

The part that trips up most manual calculations isn’t the subtraction, it’s converting the leftover minutes into decimal hours. Payroll runs on decimals, not clock time, and 30 minutes is not “.30” of an hour.

MinutesDecimal hours
:060.10
:150.25
:300.50
:360.60
:450.75
:540.90

Seven hours and thirty minutes is 7.5 in decimal, not 7.30. That single mix-up is the most common error in manual payroll math: someone reads “7:30” off a time card and types 7.3 into a spreadsheet, quietly shorting the employee two minutes of pay for every half hour worked.

Worked example: a five-day week with a night shift

Here’s a full week: two standard days, a night shift crossing midnight, and two shorter days.

DayClock inClock outBreakHours
Mon09:0017:3030 min8.00
Tue09:0017:3030 min8.00
Wed (night shift)22:0006:00none8.00
Thu09:0017:1530 min7.75
Fri09:0016:4530 min7.25
Total39.00

Monday and Tuesday are identical: 09:00 to 17:30 is 8 hours 30 minutes, minus a 30-minute break, for 8.00 hours each. Thursday runs 15 minutes short of that, landing at 7.75 hours, and Friday another 30 minutes shorter still, at 7.25 hours. Add the five days together and the week comes to 39.00 hours. At $18.50 an hour, that’s 39 × $18.50 = $721.50 for the week.

Wednesday is the one worth slowing down for. The shift starts at 22:00 and ends at 06:00, and if you subtract those times as written, 06:00 minus 22:00, you get negative 16 hours, which is meaningless. The fix is to recognize that 06:00 belongs to the next calendar day, not the same one. Add 24 hours (1440 minutes) to the end time first: 06:00 becomes 30:00. Now 30:00 minus 22:00 gives 8 hours, which matches reality: a person who clocks in at 10pm and clocks out at 6am the next morning has worked a full 8-hour shift. Any time card calculation that doesn’t check for an end time earlier than the start time will get night shifts wrong every single time.

Rounding for payroll

Many payroll systems round punches to the nearest quarter hour rather than paying to the exact minute. A common convention looks like this:

Minutes past the hourRounds to
:00–:07:00
:08–:22:15
:23–:37:30
:38–:52:45
:53–:59next hour :00

Take a punch at 8:53: under this table it rounds up to 9:00, since minutes 53 through 59 push to the next hour. A punch one minute earlier, at 8:52, rounds down to 8:45 instead. That one-minute difference in the raw clock-in becomes a 15-minute swing in paid time, which is exactly why the rule has to apply the same way to every punch.

This is a general payroll practice, not a legal requirement, and exact rounding rules vary by employer and jurisdiction. What matters more than which convention you pick is applying it consistently. If Monday’s late clock-in rounds down but Friday’s identical five-minute lateness rounds up because someone eyeballed it differently, those small inconsistencies compound across a pay period into a discrepancy that’s hard to trace back to its source.

Try it with your own numbers

Mon --
Tue --
Wed --
Thu --
Fri --
Sat --
Sun --
Weekly total
0h 00m
Total hours
0
Estimated pay
--
Time Card Calculator
Free, no sign-up, works on any device.
Open the full tool

Common mistakes and edge cases

Getting the night shift backwards. Subtracting the end time directly from the start time across midnight produces a negative or nonsensical result. Add 24 hours to the end time first, as shown in the Wednesday example above, so the math reflects that the shift genuinely spans two calendar days.

Confusing minutes with decimal hours. 7:30 on a time card is 7.5 hours, not 7.30. Reading clock time straight into a decimal field is the single most common source of small, silent payroll errors.

Being inconsistent about paid versus unpaid breaks. A 30-minute lunch that’s unpaid should be subtracted before totaling hours; a short paid break usually shouldn’t be. Mixing the two up, or handling them differently from one employee to the next, produces totals that don’t match anyone’s actual expectations.

Rounding inconsistently across the pay period. Rounding a few minutes here and there seems harmless on any single day, but applied unevenly across a week or a month it skews the total in one direction or the other. Pick one rounding rule and apply it the same way to every punch.

Frequently asked questions

How do I convert minutes into decimal hours for payroll? Divide the minutes by 60. Fifteen minutes is 15 ÷ 60 = 0.25, thirty minutes is 0.50, and forty-five minutes is 0.75. For any other value, the same division works: 36 minutes is 36 ÷ 60 = 0.60.

How is a night shift that crosses midnight calculated? Treat the end time as belonging to the next calendar day by adding 24 hours (1440 minutes) to it before subtracting the start time. A shift from 22:00 to 06:00 becomes 30:00 minus 22:00, which correctly gives 8 hours.

Should the break be subtracted before or after converting to decimal hours? Either works as long as you’re consistent, but it’s simplest to subtract the break in minutes first, then convert the remaining total to decimal hours in one step. That avoids rounding a break duration twice.

Does this calculation include overtime pay or shift differentials? No. This covers base hours worked multiplied by a flat hourly rate. Overtime premiums, night-shift differentials, and holiday pay rules vary by location and by employer, and should be calculated separately and added on top of the base pay figure once you have accurate hours.

What if a shift has more than one unpaid break? Subtract each break separately, or add them together first and subtract the total once, both routes land on the same number. The only thing that matters is that every break you subtract is genuinely unpaid; a paid break stays inside the total and never gets subtracted.

Time Card Calculator
Now try it yourself with the full tool.
Try it now