你的时间非常值钱-HMTL,完美适配某公司的实习生弹性上下班机制,让你知道还要干多久,同时让你知道你的时间有多值钱。
纯前端弹性工时记账工具。录入打卡与请假,自动计算盈亏分钟数、请假扣款、预估当月实发工资。
每天的 5:00 ~ 次日 5:00 计为一天:
| 时段 | 默认值 | 说明 |
|---|---|---|
| Work | 08:00-17:30 | 默认工作时间段 |
| Rest | 12:00-13:30 / 17:30-18:00 | 休息时段,不计工时(可添加多个) |
| Core | 09:00-17:30 | 必须在岗时段(配置项,不影响当前计算) |
净工时 = Work − Rest = 8 小时 / 天(480 分钟)。
每分钟工资 = 月薪 ÷ (当月实际工作日 × 净工时)
- 准时满勤:拿满应得薪资
- 少工作:按分钟扣款
- 多工作:不计加班费
- 溢出可抵亏空:A 天多干的分钟数可以抵消 B 天的缺勤
请假以时段录入(如 08:00-13:50),系统自动扣除该时段内的 Rest 重叠:
- 请假分钟视同已打卡,填补有效工时缺口
- 请假分钟按分钟直接扣款
- 请假扣款与亏空扣款分开计算
默认每周一~五为工作日,六日为休息日。用户可手动将任意日期覆盖为:
| 类型 | 日历标记 | 考勤 |
|---|---|---|
| 法定假日 | 红色 假 |
不考勤,不计入当月工作日 |
| 调休补班 | 金色 班 |
强制考勤,计入当月工作日 |
| 恢复默认 | 灰 休 / 无标记 |
回到默认周末/工作日规则 |
点击日期后,详情底部显示当前日类型与三个切换按钮。工作日总数随覆盖实时联动,薪资计算自动调整。
{
punches: [['13:51', '17:35']], // 正常打卡
leaveRecords: [['08:00', '13:50']] // 请假打卡
}日类型覆盖存储于独立对象:
dayOverrides: { '2026-06-10': 'holiday', '2026-06-14': 'swap' }正常打卡净时长 = Σ(打卡区间) − Rest 在其内的重叠
请假净时长 = Σ(请假区间) − Rest 在其内的重叠
有效工时 = 正常打卡净时长 + 请假净时长
日差额 = 有效工时 − 480
月度净差额 = Σ 已填日的日差额 (溢出抵亏空)
请假扣款 = Σ 请假净时长 × 每分钟工资 (按分钟扣)
亏空扣款 = max(0, −月度净差额) × 每分钟工资
扣款合计 = 请假扣款 + 亏空扣款
预估实发 = 已填满勤薪资 − 扣款合计
零依赖 — 纯 HTML/CSS/JS,任意现代浏览器即可。
# 方式一
双击 index.html
# 方式二
python -m http.server 8080
# 打开 http://localhost:8080上午请假 08:00-13:50,下午实际打卡 13:51-17:35。
| 步骤 | 操作 |
|---|---|
| 1 | 点击日历中该日期 |
| 2 | 正常打卡区:13:51 ~ 17:35,点 + 添加 |
| 3 | 请假打卡区:08:00 ~ 13:50,点 + 添加 |
正常打卡:13:51→17:35 = 224min − Rest 5min = 219min
请假打卡:08:00→13:50 = 350min − Rest 90min = 260min
有效工时:219 + 260 = 479min
请假扣款:260 × 每分钟工资
端午节 6 月 22 日(周一)放假:
| 步骤 | 操作 |
|---|---|
| 1 | 在日历中点击 6 月 22 日 |
| 2 | 点击底部 「设为法定假日」 |
| 3 | 日历上该日标记红色 假,当月工作日自动 −1 |
- 周一迟到 37min(亏空 −37)
- 周二早到 30min(溢出 +30)
- 月度净差额 = −37 + 30 = −7min(仅扣 7 分钟)
| 功能 | 说明 |
|---|---|
| 全局设置 | 月薪、Work/Rest/Core 时段自由调整 |
| 考勤日历 | 按月浏览,点击日期填写记录 |
| 日类型覆盖 | 手动设法定假日/调休补班,工作日自动联动 |
| 正常打卡 | 上下班时间录入,自动扣 Rest |
| 请假打卡 | 请假时段录入,自动扣 Rest 后按分钟扣款 |
| 实时计算 | 日差额即时显示,溢出抵消亏空 |
| 月薪预估 | 请假 + 亏空扣款 = 实发预估 |
| 数据持久化 | 自动保存至 localStorage |
| 批量默认卡 | 选定日期区间,所有工作日一键填充默认打卡 |
| 数据导入/导出 | JSON 备份文件,带版本号,支持跨版本迁移 |
日历标记:红
假= 法定假日 | 金班= 调休补班 | 灰休= 周末 | 绿+Xm= 溢出 | 红-Xm= 亏空
HowMuchTimeLeft/
├── index.html # 单页应用(HTML + CSS + JS)
└── README.md