Hours Calculator
Total hours between a start and end time, minus breaks, with pay
Enter a start time
Enter an end time
Enter a valid break (0-480)
Enter a valid rate
Total hours between a start and end time, minus breaks, with pay
Enter a start time
Enter an end time
Enter a valid break (0-480)
Enter a valid rate
Work time looks simple until you actually have to add it up: a shift that crosses midnight, a lunch break that may or may not be paid, and a payroll system that wants decimal hours while the clock shows hours and minutes. This calculator handles all three in one step.
Enter a start time and an end time, plus any unpaid break, and the tool returns the hours worked in both clock format and decimal format. Add an hourly rate and it also estimates pay. A shift ending earlier than it starts — a night shift from 22:00 to 06:00 — is automatically treated as crossing midnight.
Everything is computed in minutes first, which avoids the classic mistake of subtracting clock numbers directly (17:30 − 9:00 is not 8.30 hours — it is 8 hours 30 minutes, or 8.50 decimal).
Shift from 09:00 to 17:30 with a 30-minute unpaid lunch: gross is 8h 30m, minus 30 minutes gives 8h 00m worked, which is 8.00 decimal hours. At $20 an hour the day pays $160. The same shift without the break deduction would be 8h 30m = 8.50 hours = $170 — the 30 minutes is worth $10, which is why break rules matter.
| Start | End | Break | Worked | Decimal |
|---|---|---|---|---|
| 09:00 | 17:30 | 30 min | 8h 00m | 8.00 |
| 22:00 | 06:00 | 45 min | 7h 15m | 7.25 |
| 08:15 | 16:45 | 0 min | 8h 30m | 8.50 |
For a week of work, run the calculator once per day and add the decimal hours together before multiplying by the rate — that keeps each day's break handling separate, which is how most timesheet rules expect it.
工时这东西看着简单,真要算清楚并不容易:有跨零点的夜班、可能带薪也可能不带薪的午休,还有一套「考勤按时分、工资按十进制小时」的双轨制。这个计算器把这些一次性处理完。
输入上班与下班时间,加上无薪休息时长,工具会同时给出「时分格式」和「十进制格式」的工时;再填入时薪,还会给出当日工资预估。下班时间早于上班时间(比如 22:00 到 06:00 的夜班)会被自动识别为跨夜。
所有计算先换算成分钟再进行,这样就不会犯「直接用钟表数字相减」的经典错误——17:30 减 9:00 并不是 8.30 小时,而是 8 小时 30 分,即十进制的 8.50 小时。
09:00 到 17:30 的班,午休 30 分钟不计薪:毛工时 8 小时 30 分,扣除 30 分钟后实做 8 小时整,对应十进制 8.00。按 20 元时薪算,当天工资 160 元。如果忘了扣休息,会得到 8.50 小时、170 元——那 30 分钟值 10 元,休息规则是否带薪直接影响钱包。
| 上班 | 下班 | 休息 | 实做 | 十进制 |
|---|---|---|---|---|
| 09:00 | 17:30 | 30 分钟 | 8 小时 00 分 | 8.00 |
| 22:00 | 06:00 | 45 分钟 | 7 小时 15 分 | 7.25 |
| 08:15 | 16:45 | 0 分钟 | 8 小时 30 分 | 8.50 |
要算一整周的工时,按天各算一次再把十进制小时相加,最后乘以时薪——每天单独处理休息,才符合大多数考勤规则的计算口径。
Subtract the start time from the end time, then subtract any unpaid breaks. From 9:00 to 17:30 with a 30-minute lunch: 8h 30m − 0h 30m = 8 hours worked. If the end time is smaller than the start time, the shift crosses midnight and 24 hours are added.
Divide the minutes by 60. 8 hours 30 minutes is 8.50 in decimal hours, 8 hours 45 minutes is 8.75. Most payroll systems take decimal hours, which is exactly what this calculator shows.
It depends on their length and your local rules. In the US, bona fide rest breaks of 5–20 minutes are generally paid, while genuine meal periods of 30 minutes or more where you are fully relieved of duty can be unpaid — deduct only the unpaid ones.
Last reviewed: October 5, 2026 · How we calculate · Sources: US Department of Labor (FLSA), ACAS
最近复核:2026 年 10 月 5 日 · 我们的计算方法 · 来源:美国劳工部 (FLSA)、英国 ACAS