Hours Calculator
This calculator works out how much time passes between a start and end time, then subtracts any unpaid break. It is built for timesheets and shift logs, giving you the answer in hours and minutes, in decimal hours for payroll, and in total minutes.
How it works
Each time is converted to minutes past midnight, and the start is subtracted from the end. If the end is earlier than the start, the calculator assumes the shift crossed midnight and adds a full day. Any break minutes are then removed from the total.
Duration = (end − start) − break, wrapping past midnight when needed.Example. From 9:00 AM to 5:00 PM with a 30 minute break is 7 hours 30 minutes, or 7.5 decimal hours.
Decimal hours for payroll
Payroll systems usually want hours as a decimal rather than hours and minutes. 30 minutes is 0.5 hours, 15 minutes is 0.25, and 45 minutes is 0.75. This calculator shows the decimal figure so you can multiply straight by an hourly rate.
Frequently asked questions
How do I calculate hours worked with a break?
Find the total time between clock-in and clock-out, then subtract the unpaid break. This calculator does both automatically when you enter a break.
Does this handle overnight shifts?
Yes. If the end time is earlier than the start time, it assumes the shift ran past midnight and adds 24 hours so the result stays positive.
How do I convert minutes to decimal hours?
Divide the minutes by 60. So 30 minutes is 0.5 hours and 20 minutes is about 0.33 hours.
Related calculators
Embed this calculator
Free to use on any site. Please keep the credit link.
<iframe
id="letmecalc-hours-calculator"
src="https://letmecalc.com/embed/math/hours-calculator"
title="Hours Calculator"
width="100%"
height="620"
style="border:0;max-width:100%"
loading="lazy"
></iframe>
<p><a href="https://letmecalc.com/math/hours-calculator" target="_blank" rel="noopener">Hours Calculator</a> by letmecalc</p>
<script>
(function () {
var f = document.getElementById("letmecalc-hours-calculator");
window.addEventListener("message", function (e) {
if (e.origin !== "https://letmecalc.com") return;
if (!f || e.source !== f.contentWindow) return;
var d = e.data;
if (!d || d.source !== "letmecalc-embed" || d.type !== "resize") return;
if (typeof d.height === "number" && d.height > 0) {
f.style.height = d.height + "px";
}
});
})();
</script>