What this calculator does
Find out how many hours and minutes there are between two clock times, like the start and end of a work shift. You get the answer in hours and minutes, in decimal hours (such as 7.75) and in total minutes. Doing it by hand is fiddly. An hour has 60 minutes, not 100, and shifts that cross midnight wrap around the clock.
Enter an unpaid break, and it's taken off the total, so the result is ready for your timesheet. Add your hourly rate to see what the shift pays before deductions. For a whole week of shifts with overtime, use the time card calculator.
Where it's used
Why this math matters outside the classroom:
- Sleep. Going to bed at 10:45 p.m. and waking at 6:30 a.m. gives 7 hours 45 minutes of time in bed.
- Travel time. A train leaving at 9:20 a.m. and arriving at 1:05 p.m. takes 3 hours 45 minutes.
- Class periods. Students find that a class from 10:15 to 11:05 lasts 50 minutes.
- Parking and rentals. Customers work out how long a car was parked to check the hourly charge.
Grade level and standards: Grades 3–4; Common Core State Standards for Mathematics 3.MD.A.1, 4.MD.A.2. © Copyright 2010. National Governors Association Center for Best Practices and Council of Chief State School Officers. All rights reserved.
How to use it
- Enter the start time and the end time.
- If the end time is earlier than the start time, it counts as the next day. So 22:00 to 06:00 is an 8-hour overnight shift.
- Enter the length of any unpaid break in whole minutes. Leave it empty or at 0 if there's none.
- If you like, enter an hourly rate to see the pay for the shift.
- Read the time in hours and minutes, and the decimal hours for working out pay.
What the inputs mean
- Start time
- The clock time when the period begins.
- End time
- The clock time when the period ends. If it's earlier than the start, the period runs past midnight into the next day. If it's the same as the start, the answer is zero, not 24 hours.
- Unpaid break
- Unpaid time to take off, in whole minutes. It can't be longer than the time between start and end.
- Hourly pay rate (optional)
- Your pay per hour in dollars. Pay is decimal hours × rate, before taxes and deductions. Extra overtime pay isn't added here.
Formula and method
minutes = hours × 60 + minutes (for each clock time) span = end − start (add 1,440 minutes if end is earlier than start) net minutes = span − break decimal hours = net minutes ÷ 60 pay = decimal hours × hourly rate
Each time is turned into minutes after midnight. That turns clock math into ordinary subtraction. The span is the time from start to end, and the break is your unpaid minutes. If the end is earlier in the day than the start, a full day (1,440 minutes) is added to the end. That carries the period over midnight.
Decimal hours show the minutes as part of an hour. 15 minutes is 0.25 hours, and 45 minutes is 0.75 hours. Pay is usually worked out from decimal hours, not from the hours-and-minutes reading.
Worked example
A shift starts at 22:15 and ends at 06:00 the next morning, with no break.
- Start: 22 × 60 + 15 = 1,335 minutes. End: 6 × 60 = 360 minutes.
- The end is earlier than the start, so add a day: 360 + 1,440 = 1,800.
- Span: 1,800 − 1,335 = 465 minutes.
- Decimal hours: 465 ÷ 60 = 7.75.
- At $20 an hour: 7.75 × $20.00 = $155.00.
Result: The shift (10:15 PM to 6:00 AM) is 7 hours 45 minutes, or 7.75 hours. It pays $155.00 at $20 an hour. For comparison, the default day shift from 9:00 AM to 5:30 PM, with a 30-minute break, comes to exactly 8 hours.
Understanding the result
Use decimal hours when you multiply by an hourly rate. 7.75 hours at $20 an hour is $155. If you multiplied by 7.45 (reading 7 h 45 min as a decimal), you'd come up short. This is the part most people miss, and the pay line handles it for you when you enter a rate.
When you enter a break, the time before the break is shown too. That way you can check both numbers against a timesheet.
Assumptions and limitations
- Times are on a 24-hour clock, in whole minutes.
- The period is less than 24 hours long and crosses midnight once at most.
- The break is one total amount of unpaid time.
- It doesn't consider time zones or daylight saving time. A night shift on the night the clocks change will be off by an hour.
- You can't enter periods of 24 hours or more. Use the date difference calculator for spans of several days.
- It doesn't handle seconds.
- Pay is the rate times the hours. Overtime, shift differentials (extra pay for certain shifts, such as nights) and deductions aren't included.
Frequently asked questions
How do I convert minutes to decimal hours?
Divide the minutes by 60. 30 minutes is 0.5 hours, 20 minutes is about 0.33 hours, and 6 minutes is 0.1 hours. The calculator shows decimal hours rounded to two places.
How does it handle a shift that ends after midnight?
Any end time earlier than the start time counts as the next day. So 18:00 to 02:00 is 8 hours, not −16.
What if the start and end times are the same?
The answer is zero. Matching times count as no time passing, not a full day. So you can't enter a 24-hour period here.
How many hours is 9 to 5?
From 9:00 AM to 5:00 PM is 8 hours. With a 30-minute unpaid lunch, it's 7.5 paid hours, and with a one-hour lunch it's 7. Enter 09:00, 17:00 and your break to check your own day.
How do I enter PM times?
In many browsers, the time boxes use the 24-hour clock. Add 12 to any PM hour, so 5:30 PM is 17:30. The result repeats both times on a 12-hour clock, so you can check they were read the way you meant.
Does it account for daylight saving time?
No. It only measures the difference on the clock face. On the night the clocks go forward, an overnight shift is really an hour shorter than shown. On the night they go back, it's an hour longer.
How this calculator is checked
Method: Elementary clock arithmetic: times converted to minutes after midnight, with a 1,440-minute wrap for overnight spans. The calculation is covered by automated tests with known reference values and edge cases. Last updated 2026-10-18. Found a problem? Tell us.
Embed this calculator
Put this Hours Calculator on your own website or blog for free. Paste this code where you want it to appear: