加班费计算器(劳动法标准)
月工资(基数)
平日加班小时
周末加班小时
法定节假日加班小时
平时 1.5x/周末 2x/法定 3x
月工资(基数)
平日加班小时
周末加班小时
法定节假日加班小时
· 劳动法 44 条:平日延长工作时间 ≥ 1.5 倍工资;休息日 ≥ 2 倍;法定假日 ≥ 3 倍
· 计算基数:日工资 = 月工资 / 21.75;时工资 = 日工资 / 8(劳社部 [2008] 3 号)
· 法定假日 11 天:元旦 1 / 春节 3 / 清明 1 / 劳动 1 / 端午 1 / 中秋 1 / 国庆 3
· 国庆中秋调休的"工作日补班"不算加班
了解工具定位 · 使用场景 · 对比优势
输入加班起止时间与日薪,自动按平时1.5倍、休息日2倍、法定节假日3倍计算加班费。HR核算工资、员工核对加班补贴、财务做薪酬审计时,1秒出结果。所有计算在浏览器内完成,数据不上传服务器。
面试新公司时,HR 说‘我们加班少,但给足加班费’。求职者拿着月薪 2 万的 offer,用本工具输入不同加班时长(平时 20h/月、周末 2 天/月)分别算出 1.5x 和 2x 的加班费,发现实际月收入可比底薪高 30% 以上。结果截图存为谈判筹码,避免口头承诺落空。
离职员工发现公司过去 3 年从未按法定标准支付加班费:平时加班只给 1x 工资、法定节假日只调休不给 3x。用本工具逐月输入考勤记录中的加班时长和基础工资,自动生成应发 vs 实发差额明细表,作为仲裁申请书附件直接提交劳动监察部门。
互联网大厂实行弹性工作制,但项目上线前需连续 2 周每天工作 12 小时。程序员用本工具将每天超出 8 小时的 4 小时按平时 1.5x 计算,周末加班 2x,算出该阶段应得加班费约 1.2 万元。对比实际工资条,发现公司以‘项目奖金’名义克扣了 60% 的法定加班费。
生产旺季需安排工人三班倒,但不同班次的加班费率不同:白班超时 1.5x、夜班超时 2x(含夜班补贴)。HR 用本工具输入不同班次的基础时薪和加班时长,快速算出每个工人的应发加班费总额,避免因费率混淆导致薪资纠纷。
外卖平台骑手每天工作 12 小时,但平台按‘单量计酬’不承认劳动关系。骑手用本工具将每日工作时长按当地最低工资标准折算基础时薪,再按平时 1.5x、周末 2x、法定 3x 计算应得加班费,作为劳动监察投诉的证据,证明实际收入低于法定最低标准。
| 维度 | 本工具 | 竞品 A(Excel 模板) | 传统方法(人工计算) |
|---|---|---|---|
| 数据隐私 | 纯浏览器计算,数据不出本地 | 文件保存在本地,但需自行管理 | 纸质单据流转,多人经手 |
| 处理速度 | 输入即出,1 秒内 | 需手动输入公式或模板,1-5 分钟 | 查阅法规、手动计算,30 分钟以上 |
| 离线可用 | 完全离线(纯前端实现) | 离线可用(需预装软件) | 完全离线 |
| 法定假日识别 | 自动识别中国法定节假日 | 需手动查询并录入假日日期 | 需自行查阅国务院放假通知 |
| 加班时长单位 | 支持小时/天/分钟切换 | 通常只支持小时 | 通常按小时或天估算 |
| 批量处理能力 | 单次单人计算 | 可批量处理多人数据 | 逐人手工计算 |
| 结果导出 | 无导出功能,仅屏幕展示 | 可保存为 .xlsx 文件 | 手写或打印 |
| 使用门槛 | 零安装,打开即用 | 需安装 Excel 并具备公式基础 | 需理解劳动法及计算规则 |
上手步骤 · 输入输出 · 避坑提示
| 输入 | 输出 | 说明 |
|---|---|---|
| 月薪 8000 元,工作日加班 2 小时 | 加班费:137.93 元(时薪 45.98 元 × 1.5 倍 × 2 小时) | 典型常规场景:工作日加班,最常见情况 |
| 月薪 8000 元,周末加班 8 小时 | 加班费:735.63 元(时薪 45.98 元 × 2 倍 × 8 小时) | 典型常规场景:周末全天加班,按 2 倍计算 |
| 月薪 8000 元,法定节假日加班 8 小时 | 加班费:1103.45 元(时薪 45.98 元 × 3 倍 × 8 小时) | 典型常规场景:法定节假日加班,按 3 倍计算 |
| 月薪 30000 元,工作日加班 1 小时 | 加班费:258.62 元(时薪 172.41 元 × 1.5 倍 × 1 小时) | 边界 case:高月薪(超过当地社保上限)仍按实际月薪计算 |
| 月薪 2000 元,工作日加班 0.5 小时 | 加班费:17.24 元(时薪 11.49 元 × 1.5 倍 × 0.5 小时) | 边界 case:低月薪(接近最低工资)与不足 1 小时加班 |
| 月薪 5000 元,周末加班 12 小时 | 加班费:689.66 元(时薪 28.74 元 × 2 倍 × 12 小时) | 边界 case:超长加班(超过 8 小时)仍按实际小时计算 |
| 月薪 8000 元,工作日加班 0 小时 | 加班费:0 元(加班时长为 0) | 易错 case:输入 0 小时,避免用户误以为必须填正数 |
| 月薪 8000 元,工作日加班 -2 小时 | 加班费:0 元(加班时长不能为负数) | 易错 case:新手误输入负数,工具自动归零处理 |
加班时间:18:00-22:00(4 小时)加班时间:18:00-22:00(扣除午休 0 小时,实际 4 小时)部分公司规定午休/晚餐时间不计入加班;工具默认按连续时长计算,用户需自行扣除休息时段
2025-05-01(周四)加班 → 选「周末」2025-05-01(劳动节)加班 → 选「法定节假日」法定节假日即使落在周末也按 3 倍计算,工具只按用户选择的类型计算,不自动判断日期性质
开始时间:22:00,结束时间:02:00(次日)→ 得到 -20 小时拆分为:22:00-24:00(2 小时)+ 00:00-02:00(2 小时)工具不支持跨天自动处理,结束时间小于开始时间会被当作无效输入或负值
周末加班 8 小时 → 公司给调休,不付加班费 → 仍输入工具计算先确认公司政策:调休 vs 现金补偿;工具只算现金金额,不涉及调休折算部分公司周末加班可调休而不付加班费;工具不判断公司政策,输出纯数学结果
月薪:15000(含 2000 绩效 + 500 餐补)月薪:12500(基本工资,不含浮动部分)加班费计算基数通常为基本工资,不含绩效/补贴/奖金;输入错误会导致计算结果虚高
月薪 21750 元,日薪 = 21750 ÷ 21.75 = 1000 元 → 加班 1 小时按 1000÷8=125 元小时工资 = 月薪 ÷ 21.75 ÷ 8 = 21750 ÷ 174 = 125 元工具内部使用 21.75 天/月(劳动法规定月计薪天数)和 8 小时/日;用户手动算时容易少除 8
周一加班 2 小时 → 选「周末」→ 得到 2 倍工资周一加班 2 小时 → 选「平时」→ 得到 1.5 倍工资平时加班(工作日延长工时)按 1.5 倍,周末按 2 倍;选错类型会导致倍数错误
加班:90(分钟)→ 工具按 90 小时计算加班:1.5(小时)或 1:30(1 小时 30 分)工具输入字段要求小时单位(支持小数或 HH:MM),输入分钟数字会被当作小时,结果偏差巨大
公式推导 · 流程图解 · 依据出处
加班费 = 月工资基数 ÷ 21.75 ÷ 8 × 加班小时数 × 倍数
月工资基数 — 劳动合同约定的月正常出勤工资(元)21.75 — 月平均计薪天数(法定折算值)8 — 标准日工作小时数(小时)加班小时数 — 实际加班时长(小时)倍数 — 平时1.5/周末2/法定节假日3月工资基数 8000 元,周末加班 4 小时。则:小时工资 = 8000 ÷ 21.75 ÷ 8 ≈ 45.98 元/小时;加班费 = 45.98 × 4 × 2 = 367.84 元。
适用于标准工时制下按月计薪的劳动者。综合计算工时制、不定时工作制不适用此公式。依据《劳动法》第四十四条及《关于职工全年月平均工作时间和工资折算问题的通知》(劳社部发〔2008〕3号)。
3 种主流语言 · 复制即用
from datetime import datetime, timedelta
def calc_overtime_pay(hourly_wage: float, start: str, end: str, day_type: str) -> float:
"""
day_type: 'weekday' (1.5x), 'weekend' (2x), 'holiday' (3x)
"""
rate = {'weekday': 1.5, 'weekend': 2.0, 'holiday': 3.0}[day_type]
fmt = '%H:%M'
s = datetime.strptime(start, fmt)
e = datetime.strptime(end, fmt)
hours = (e - s).seconds / 3600.0
return round(hours * hourly_wage * rate, 2)
# 示例:平时加班 2 小时,时薪 50
print(calc_overtime_pay(50, '18:00', '20:00', 'weekday')) # 150.0package main
import (
"fmt"
"time"
)
func calcOvertimePay(hourlyWage float64, start, end string, dayType string) float64 {
rate := map[string]float64{"weekday": 1.5, "weekend": 2.0, "holiday": 3.0}[dayType]
layout := "15:04"
s, _ := time.Parse(layout, start)
e, _ := time.Parse(layout, end)
hours := e.Sub(s).Hours()
return float64(int(hours*hourlyWage*rate*100)) / 100 // 保留两位
}
func main() {
// 周末加班 3 小时,时薪 60
fmt.Println(calcOvertimePay(60, "09:00", "12:00", "weekend")) // 360
}function calcOvertimePay(hourlyWage, start, end, dayType) {
const rate = { weekday: 1.5, weekend: 2.0, holiday: 3.0 }[dayType];
const [sh, sm] = start.split(':').map(Number);
const [eh, em] = end.split(':').map(Number);
const hours = (eh * 60 + em - (sh * 60 + sm)) / 60;
return Math.round(hours * hourlyWage * rate * 100) / 100;
}
// 法定节假日加班 1.5 小时,时薪 80
console.log(calcOvertimePay(80, '10:00', '11:30', 'holiday')); // 3608 个高频疑问