Measure the span between two timestamps, then decide what actually counts. Drop breaks, keep only working hours, round to your billing unit, and copy the figure your timesheet wants.
Full elapsed span counted, wall clock to wall clock.
Nothing counted yet
Payroll decimal hours: 0.00 h
The same span, smallest unit to largest
Months and years use the mean Gregorian length, 30.44 and 365.24 days, because a duration with breaks removed is no longer tied to specific calendar dates.
What counts
A shift that runs 09:00 Monday to 17:30 Tuesday covers 32.5 hours of elapsed time. Almost nobody gets paid for 32.5 hours. The gap between those two figures is where most timesheet arguments start.
This calculator reports both. The rail near the top draws the whole elapsed span, and the filled portion shows how much of it survived your rules. Turn on working hours and the fill shrinks to the slice that fell inside your day. Add break minutes and the total drops further. Pick a rounding unit and the figure snaps to the increment your invoice template expects.
The headline reads as HH:MM:SS and keeps counting past 24 hours rather than wrapping, so a 49-hour span shows 49:12:00 instead of the misleading 01:12:00 you get from tools that format with a date object.
The striped track is the raw span between your two timestamps. The gradient fill is what the calculator counted. When both fill the whole track, no rules are active and you are looking at plain elapsed time.
Every setting lives in the URL. Press Share this setup and the link carries your timestamps, breaks, rounding, shift window, and working days, so a reviewer opens the same calculation rather than a screenshot of it.
| Format | Looks like | Use it for |
|---|---|---|
| Plain English | 2 days, 3 hours, 20 minutes | Client emails, status notes, anything a person reads once |
| HH:MM:SS | 51:20:00 | Shift logs, stopwatch records, support response times |
| Decimal hours | 51.33 hours | Payroll systems, spreadsheets, hourly rate multiplication |
| ISO 8601 | P2DT3H20M | API payloads, calendar records, database duration columns |
Decimal hours is the one people get wrong by hand. Three hours and twenty minutes is 3.33 hours, not 3.20. Multiply an hourly rate by 3.20 and you have underpaid by eight minutes on every line of the invoice.
A few limits are worth knowing before you rely on the output.
Start 22:00 Friday, end 06:30 Saturday, 45 minutes of break. Leave working hours off, because the whole shift is paid. The result is 7 hours 45 minutes, or 7.75 decimal hours. Copy the decimal value straight into the payroll column.
Start when the ticket landed at 16:40 Friday, end when an engineer replied at 10:15 Monday. Raw elapsed time is 65.6 hours, which looks terrible in a report. Switch on working hours with a 09:00 to 17:00 window, Monday to Friday, and only two slices count: 20 minutes on Friday afternoon and 75 minutes on Monday morning. The total lands at 1 hour 35 minutes, and that is the number your service level agreement is measured against.
Start when you opened the file, then switch on Run live and let the end track the clock. When you finish, untick it, enter your break minutes, and round to the nearest 6 minutes. The ISO 8601 value drops cleanly into a time tracking API, and the plain English line goes in the client email.
For adding a fixed offset to a date rather than measuring between two, reach for Add Time to Date. For counting whole calendar days, the Date Difference Calculator is the better fit.
Rounding, working hours, daylight saving, and what the numbers include.
Break minutes, working hours mode, and rounding all reduce the raw span. The rail under the inputs shows the gap: the striped track is the full elapsed time and the filled portion is what was counted. Clear the break field, switch off working hours, and set rounding to none, and the total matches a plain subtraction exactly.
It walks the span one calendar day at a time. On each day that you marked as a working day, it takes the overlap between your span and the day window you set, then adds those slices together. Evenings, nights, and unmarked weekdays contribute nothing.
The calculator reports real elapsed time, so a spring-forward night is one hour shorter than the wall clock suggests and an autumn night is one hour longer. A note appears above the rail whenever a crossing is detected, with the size of the shift, because some payroll agreements pay the wall clock figure instead.
Decimal hours divide by 60, not by 100. Twenty minutes is a third of an hour, so it becomes 0.33. Typing 3.20 into a payroll sheet shortens the entry by eight minutes, which is the single most common manual timesheet error.
Match your agreement rather than your preference. Legal and consulting work usually bills in 6 minute units, which map to clean tenths of an hour. Agencies and contractors often use 15 minutes. If nothing is specified, leave rounding off and report the exact figure.
The end value is read from your system clock on every tick, so the total stays correct even when a background tab is throttled. Nothing is stored, though. Reloading the page starts fresh, so copy or share the result before you close it.
Press Share this setup. The link carries both timestamps plus your break minutes, rounding unit, shift window, and working days. Anyone opening it lands on the identical calculation, which settles most invoice disputes faster than a screenshot.
Yes. The span is measured backward and reported as a positive length, with a note explaining that the order was reversed. Use the swap button between the two cards if you would rather fix the input order.