工作小时计算器

两种算法可选:法 A 用「天数 × 每天小时」做月度汇总,法 B 用上下班打卡时刻算出当日工时,再扣掉午休、按标准工时判出加班时长并乘以天数。午休是显式扣除项,口径一眼看得见。数据在浏览器本地计算,不上传。

—

计算公式:法 A 总工时 = 天数 × 每天小时;法 B 当日工时 = 下班 − 上班 − 午休(跨午夜要 +24 h)、加班 = max(0, 当日工时 − 标准工时);法 B 汇总 总工时 = 当日工时 × 天数、总加班 = 加班 × 天数

本页的核心结论:工时与在岗时长不是一回事——09:00 到 18:30 在岗 9.5 小时,扣掉 1 小时午休后当日工时是 8.5 小时,按 8 小时标准工时算只有 0.5 小时加班;22 天累计 187 小时,其中加班 11 小时。少扣那 1 小时午休,一个月就会虚增 22 小时。

使用方法

  1. 「算法」选法 A 或法 B。法 A 用「天数 × 每天小时」做月度汇总,法 B 用上下班打卡时刻逐日核对,两者算的不是同一件事。
  2. 「工作天数」填统计周期内的上班天数,示例 22,即一个月 22 个工作日;量程 1 到 366,步长 1 天。两个算法共用这一项。
  3. 「标准工时」填制度规定的每日工时,示例 8,单位小时;它只用来判加班,不参与总工时的计算,量程 1 到 12,步长 0.5。
  4. 法 A 只需再填「每天工时」,示例 8 小时,量程 0.5 到 24,步长 0.5;排班制常见的 9 小时、10 小时也直接填在这里。
  5. 法 B 填「上班时间」与「下班时间」,示例 09:00 与 18:30,再填「午休」小时数,示例 1;午休是扣除项,不休息就填 0。
  6. 夜班跨午夜时勾选「跨午夜夜班」,下班时刻按次日处理;不勾选而下班时刻又早于上班时刻,页面会给出提示而不是算出负工时。
  7. 所有输入框改动后立即重算;光标停在任一框里按回车也会立刻计算,不必去点按钮。
  8. 对照表默认展开前六行,「加载更多」展开其余行;「复制对照表」取 TSV,「导出 CSV」下载带 UTF-8 BOM 的文件。

这个工作小时计算器能解决什么问题

这个工作小时计算器针对的场景很具体:月底要报工时,或某个月的班表被改过几轮,需要知道这一期一共上了多少小时、其中有多少小时算加班。它把两件常被混在一起的事分开算——总工时是一个量,加班是另一个量,后者要靠「标准工时」这个制度值去切。

与同一分类下的兄弟页分工清楚:工时表生成器产出的是一张可打印的排班表格,工作日计算器回答的是两个日期之间有多少个工作日;前者给的是表格形态,后者给的是天数,本页给的是小时数与其中的加班部分。天数要换算成小时,落点就到了本页。

把午休做成显式扣除项是有意的。很多考勤系统里的「在岗时长」直接从打卡记录算,午休、待命、培训是否被计入,取决于劳动合同与当地法规;本页让你自己填午休,就是为了把这个口径摆到台面上,改一个数就能看清它对整月结果的影响。

计算原理与变量说明

本页两种算法各自独立,变量如下:

一、工时与在岗时长不是一回事,差别就在午休这类扣除项。 09:00 到 18:30 的在岗时长是 9.5 小时,扣掉 1 小时午休才是 8.5 小时的工时。午休、待命、岗前培训是否计入,取决于劳动合同的约定与当地法规,没有统一答案;本页把午休做成显式输入而不是写死成 1 小时,就是为了让你自己决定口径。少扣这一小时,22 天下来就会虚增 22 小时,加班判定也会被整体抬高。

二、加班判定完全依赖「标准工时」这个制度值。 它的计算公式是 加班 = max(0, 当日工时 − 标准工时),标准工时一变,同样的打卡记录会得到完全不同的加班数:当日 9 小时在 8 小时标准下是 1 小时加班,在 9 小时排班制下就是 0。8 小时是中国标准工时,9 小时、10 小时常见于综合计算工时与特殊排班,切换前先确认自己适用哪一种制度。

三、跨午夜夜班必须按次日处理,否则会算出负工时。 22:00 上班、06:00 下班在数值上是 6 减 22,直接相减得到负值,而真实工时是 8 小时。本页的做法是:勾选「跨午夜夜班」后给下班时刻加 24 小时再相减;如果不勾选而下班时刻早于上班时刻,页面直接给出提示,不会返回一个负数让你误以为算出来了。

四、法 A 适合月度汇总,法 B 适合打卡核对,两者混用会差出午休这一块。 同样是 22 天,法 A 填 8 得 176 小时,法 B 用 09:00~18:30 扣 1 小时午休得 187 小时——差的 11 小时既不是误差也不是加班,而是法 A 里的「每天 8 小时」已经是扣掉午休之后的净工时,法 B 的 8.5 小时是另一套口径。核对工资条用法 B,估算月度产能用法 A,不要把两个数放在一起比。

完整示例(数值仅作演示)

示例条件:工作天数 22、标准工时 8 小时;法 B 另取上班 09:00、下班 18:30、午休 1 小时。结果由本页自己的算法复算得到。

上面每个数字都由页面算法算出,把同样的参数填进工具区即可得到相同结果;示例数值均为演示。

工时对照表

第一张表固定标准工时 8 小时,列出十二组常见起止时间与午休对应的当日工时和加班。前几行是标准班制,中间的 08:00~20:00 属于明显的长班,最后一组 08:30~18:00 少扣半小时午休,当日工时多了 1 小时。

上班 ~ 下班午休 h当日工时 h加班 h
08:30 ~ 17:30180
09:00 ~ 18:00180
09:00 ~ 18:3018.50.5
08:00 ~ 17:000.58.50.5
09:30 ~ 19:0018.50.5
08:00 ~ 20:001113
10:00 ~ 19:00180
07:30 ~ 16:30180
09:00 ~ 21:001113
08:00 ~ 16:00080
09:00 ~ 17:00170
08:30 ~ 18:000.591

第二张表是法 A 的天数与每天小时对照,用来快速估算一个月的工作量;22 × 8 = 176 那一行就是本页的默认示例。

天数每天小时 h总工时 h
5840
10880
208160
218168
228176
229198
2210220
268208

结果边界、舍入与适用说明

常见问题

在岗 9.5 小时,为什么工时只有 8.5 小时?

因为午休被扣掉了。本页的公式是「当日工时 = 下班 − 上班 − 午休」,09:00 到 18:30 在岗 9.5 小时,扣掉 1 小时午休后是 8.5 小时。午休算不算工时取决于劳动合同与当地法规,本页把它做成显式输入,不休息就填 0。

法 A 算出 176 小时,法 B 算出 187 小时,哪个对?

两个都对,口径不同。法 A 的「每天 8 小时」是已经扣掉午休的净工时,22 天就是 176 小时;法 B 的 09:00~18:30 扣 1 小时午休后是 8.5 小时,22 天是 187 小时,差的 11 小时是午休口径造成的。核对工资条用法 B,估算月度产能用法 A。

夜班 22:00 上班、06:00 下班为什么算不出来?

直接相减会得到负数。勾选「跨午夜夜班」后,下班时刻按次日处理,即加 24 小时再相减,得到 8 小时。不勾选而下班时刻又早于上班时刻时,页面会提示你勾选,而不是返回一个负数。

标准工时要填多少?

按你适用的制度填:8 小时是中国标准工时,9 小时、10 小时常见于综合计算工时与特殊排班制。这个值只影响加班判定,不影响总工时——当日 9 小时在 8 小时标准下是 1 小时加班,在 9 小时排班制下就是 0。

午休时间该填实际休息时长还是公司规定的时长?

填你打算从工时里扣除的那一个。要核对实际出勤就填实际休息时长,要按公司规定口径报工时就填规定值。填 0 表示午休计入工时,这时 09:00~18:30 的当日工时是 9.5 小时、加班 1.5 小时。

算出的加班小时能直接换算成加班费吗?

不能直接用。本页只给小时数,加班费还要乘上合同约定的倍率,且工作日延时、休息日与法定节假日的倍率并不相同,各地规定也有差别。拿到小时数之后再按适用倍率折算,或用专门的加班费工具与年薪换算时薪计算器配合估算。

这个工具免费吗?

免费,无需注册即可使用。

输入的数据安全吗?

安全。计算在当前浏览器本地完成,不会上传输入内容。

相关工具