排班轮班计算器
排班轮班计算器:设定一个锚定日「那天上什么班」,再填入你单位的轮班循环(四班三倒、两班倒、三班倒、做二休一等),即可推算任意一天的班次、生成逐日排班表并统计各班次天数。
选一个预设会自动填入下方循环,也可手动改成你单位的班次。
用空格、逗号或换行分隔每一天的班次;重复写表示连上多天同一班。当前循环 8 天:早班 → 早班 → 中班 → 中班 → 晚班 → 晚班 → 休息 → 休息 → (回到开头)
这一天就是循环里的第 1 个班次(上方循环的第一格)。填你确定「那天上什么班」的任意一天即可。
要查询/生成排班表的起始日,默认今天。
含首含尾。查单独一天时把开始、结束填成同一天即可。
以 2026 年 7 月 20 日(周一) 为循环第 1 天(早班 → 早班 → 中班 → 中班 → 晚班 → 晚班 → 休息 → 休息,共 8 天一循环),2026 年 7 月 20 日(周一) 上 早班。
| 日期 | 星期 | 班次 | 循环位 |
|---|---|---|---|
| 2026-07-20 | 周一 | 早班 | 第 1/8 格 |
| 2026-07-21 | 周二 | 早班 | 第 2/8 格 |
| 2026-07-22 | 周三 | 中班 | 第 3/8 格 |
| 2026-07-23 | 周四 | 中班 | 第 4/8 格 |
| 2026-07-24 | 周五 | 晚班 | 第 5/8 格 |
| 2026-07-25 | 周六 | 晚班 | 第 6/8 格 |
| 2026-07-26 | 周日 | 休息 | 第 7/8 格 |
| 2026-07-27 | 周一 | 休息 | 第 8/8 格 |
| 2026-07-28 | 周二 | 早班 | 第 1/8 格 |
| 2026-07-29 | 周三 | 早班 | 第 2/8 格 |
| 2026-07-30 | 周四 | 中班 | 第 3/8 格 |
| 2026-07-31 | 周五 | 中班 | 第 4/8 格 |
| 2026-08-01 | 周六 | 晚班 | 第 5/8 格 |
| 2026-08-02 | 周日 | 晚班 | 第 6/8 格 |
班次 = 循环[(当天 − 锚定日 2026-07-20) mod 8]。逐日循环取模,跨年、跨闰年 2 月 29 日均自动处理。
怎么用
- 选一个倒班模式(或自定义):从「两班倒、三班倒、四班三倒、做二休一、做四休二」等预设里挑一个,会自动填入下方循环;也可直接改成你单位实际的班次,用空格或逗号分隔每一天。
- 填写锚定日期:找一个你确定「那天上什么班」的日子,把它设为锚定日——它就是循环里的第 1 个班次(循环的第一格)。锚定日选得对,后面每一天都会算准。
- 选择排班表区间:填开始日期与结束日期(含首含尾),生成这段时间的逐日排班表。只想查某一天上什么班时,把开始、结束填成同一天即可。
- 读取结果:页面立即给出起始日班次、逐日排班表(日期/星期/班次/循环位),并统计区间内每种班次各多少天,方便排休、请假、换班对照。
核心要点
排班轮班计算器帮你把「循环班次」映射到具体日历:设定一个已知班次的锚定日,填入本单位的轮班循环,就能推算任意一天上什么班、生成逐日排班表并统计各班次天数。用之前先记住这几点:
- 锚定日 = 循环第一格:任选一个你确定班次的日子作锚定日,把它当天的班次放到循环的第 1 格;锚定日选对,前后每一天都算准。
- 循环全部自定义:两班倒、三班倒、四班三倒、做二休一、做四休二只是常见排法,各单位并不统一——循环天数与班次名都可按本厂实际改,工具不预设任何行业规则。
- 前后都能推:用数学取模(结果恒为非负)定位循环位,锚定日之前的日期也能正确回推;跨月、跨年与闰年 2 月 29 日均不错位。
- 边界提醒:单次排班表最多约 400 天(一年多一点),更长时段请分段查询;结果仅供排班可视化,不含加班费、工时、夜班津贴,正式排班以单位排班表为准。
- 算例参考:四班三倒循环「早早中中晚晚休休」、锚定日定在某天早班时,第 6 天(相差 5 天,
5 mod 8 = 5)落在第 6 格 = 晚班。
原理与公式
核心原理:轮班是固定循环逐日重复的,只要知道某一天(锚定日)的班次,任意一天的班次都可用取模算出:
循环位 = (目标日 − 锚定日 的相差天数) mod 循环天数当天班次 = 循环[循环位]
其中相差天数用数学取模(结果恒为非负),所以锚定日之前的日期也能正确回推到循环里的对应班次。循环位从 0 开始,0 即循环第 1 格(锚定日的班次)。
计算示例
设四班三倒循环 早班 早班 中班 中班 晚班 晚班 休息 休息(8 天一轮),锚定日 2026-07-01(周三,循环第 1 格 = 早班):
- 查 2026-07-09:相差 8 天,
8 mod 8 = 0→ 第 1 格 → 早班(正好过了一整轮)。 - 查 2026-07-06:相差 5 天,
5 mod 8 = 5→ 第 6 格 → 晚班。 - 查 2026-06-30(锚定日前一天):相差 −1 天,数学取模
(−1) mod 8 = 7→ 第 8 格 → 休息。
生成排班表时对区间内每一天逐日套用上式,并把相同班次的天数累加,得到「本段各班次各多少天」。全程按公历整数天运算,自动处理大小月与闰年 2 月 29 日。
常见问题
- 排班轮班计算器怎么用?「锚定日期」是什么意思?
- 轮班是按固定循环逐日重复的,所以只要知道某一天上什么班,就能推算之后(和之前)任意一天。「锚定日期」就是这个已知的参照点——你把它设成循环里的第 1 个班次(上方循环的第一格)。例如四班三倒循环是「早早中中晚晚休休」,若你确定 7 月 1 日是这一轮的第一个早班,就把 7 月 1 日设为锚定日,工具便会用「(目标日 − 锚定日) 除以循环天数取余数」定位任意一天落在循环的哪一格、对应哪个班次。
- 四班三倒、两班倒、三班倒的循环分别怎么填?
- 两班倒(12 小时制)常见循环是「白班 夜班」2 天一轮;三班倒(8 小时制)是「早班 中班 晚班」3 天一轮;四班三倒是四组人轮换、保证 24 小时连续生产的经典 8 天循环「早班 早班 中班 中班 晚班 晚班 休息 休息」。这些都是常见排法,但各单位并不统一——你完全可以按本厂实际把循环改成任意天数、任意班次名(如加「机动」「小夜」「大夜」),工具只按你填的循环推算,不预设任何行业规则。
- 跨月、跨年,甚至遇到 2 月 29 日会算错吗?
- 不会。工具按公历逐日推算,自动处理大小月与闰年 2 月 29 日,可连续跨月、跨年生成排班表,不会因月份天数不同而错位。为避免超大区间卡顿,单次最多生成约 400 天(一年多一点)的排班表;需要更长时间可分段查询。
- 我记得的是「昨天上晚班」,但不知道循环从哪天开始,能算吗?
- 可以。锚定日不必是循环真正的「起点」,任何一个你确定班次的日子都行——只要把当天的班次调到循环的第一格即可。比如你确定 7 月 18 日上晚班,就把循环改写成从「晚班」开头的顺序(如三班倒写成「晚班 早班 中班」),再把锚定日设为 7 月 18 日;或保持原循环、把锚定日往前/往后挪到循环第一格对应的那天。两种做法结果一致。
- 这个排班表是法定的、公司必须执行的吗?
- 不是。本工具只是按你输入的循环做纯日历推算,帮你把班次排布可视化,不代表任何单位的正式排班,也不含加班费、工时、夜班津贴的计算。综合工时、轮班间隔、连续工作时长、休息休假等须符合《劳动法》及地方规定和公司制度;正式排班、考勤、薪酬以单位的排班表和劳动合同为准。如需算工时或跨天时长,可用本站「工作时间计算器」。
- 换班、调休后怎么快速核对同事的班?
- 把同一个循环和锚定日固定下来,只改「排班表区间」就能查任意时间段;想看某位同事的班,若他和你相差固定天数(例如同组错开 2 天),把锚定日相应前移或后移 2 天再看即可。工具还会统计区间内每种班次各多少天,方便核对本月上了几个夜班、休了几天,用于排休、请假申请与换班对照。