# 排班日历计算器：做四休四、Panama、DuPont

> 设定轮班模式（做四休四、Panama 2-2-3、DuPont 或自定义），生成可打印的彩色排班日历并标注公共假日。免费排班计算器。

- **Category:** 日期与时间
- **Interactive calculator:** https://youcalc.com/zh/date-time/shift-pattern-calculator/
- **Price:** Free, no sign-up required

## Overview

本计算器把轮班模式转换成一目了然的彩色排班日历，可阅读、打印或保存为 PDF。选择现成的轮班方式——做四休四、Panama（2-2-3）、DuPont、Continental 三班制、做五休二或 2-2-2——也可以从零自定义，然后设定循环的起始日期以及要显示的月份数（最多整整一年）。每一天都按其班次类型着色并加标签——早班、中班、夜班、白班或休息——并叠加 200 多个国家/地区的公共假日，让你一眼看出哪些假日落在上班的班次上。

## How to read your result

日历是核心：每个单元格按当天的班次类型着色，上班日标注一个字（早 / 中 / 夜 / 白），公共假日标一个绿点。图例把每种颜色对应到班次名称、典型起止时间和工时。图例下方的合计条汇总整个区间——上班天数、休息天数、总工时、周均工时、区间内假日数，以及其中有多少落在排定的班次上。每个月底部还有按类型的单独统计。周均工时为总工作时数除以区间内的周数（天数 ÷ 7），因此 12 小时班的做四休四轮班为每周 42 小时。

## Method

引擎首先把有序的班段拼接成长度为 C 的逐日周期数组。对所请求区间中的每一天，它使用儒略日数（Julian Day Number）计算相对于锚点（起始）日期的整日偏移 D——这是一种不受夏令时影响的整数日运算——并求出周期位置 p = (((D + offset) % C) + C) % C，对锚点之前的日期（D 为负）也能正确回绕。位置 p 处的班次类型即为基础分类。然后叠加所选国家/地区的公共假日集合：落在排定班次上的假日，仅当启用“视为休息”时才会重新归类为休息，但始终会被标记。上班日是有效类型不为休息的日子；总工时把这些日子按类型的工时相加；周均工时 = 总工时 × 7 ÷ 区间天数。为按月统计，日期按日历月份分组，整个区间汇总成合计条。该计算是一个纯函数，不访问时钟或网络——“今天”和假日集合由页面解析并作为输入传入——因此相同的输入始终产生相同的日历。

## Example

- **Setup:** 选择做四休四班制（12 小时白班），把起始日期设为你轮班的第一天，并显示 1 个月。
- **Result:** 一个周期为 8 天——四个 12 小时白班，接着四天休息——所以在 31 天的月份中大约重复 3¾ 次。合计显示平均约每周 42 小时，任何落在你白班上的公共假日都会被标记，便于你安排假日工资或调班。

## Frequently asked questions

### 轮班模型是如何运作的？

一次轮班是一组有序的班段——每个班段是某一班次类型重复若干天，例如“白班 ×4，休息 ×4”。各班段拼接成长度为 C 的周期，并从你的起始日期开始重复。对任意一天，计算器统计自起始日期以来的整日数（记为 D），并用 p = (((D + offset) % C) + C) % C 求出在周期中的位置；当天的班次就是位置 p 处的类型。天数依据儒略日数计算，因此夏令时变更绝不会使某一天发生偏移。

### 周期偏移有什么用？

如果你的起始日期就是轮班的第 1 天，保持为 0。比如今天正好是周期的第三天，而你想把日历锚定到今天，就把偏移设为 2，让模式前移到正确的位置。偏移改变的是起始日期落在周期中的哪个点，而不改变周期本身。

### 公共假日是如何处理的？

你所选国家/地区的假日，取自与“工作日计数器”相同的各国数据并叠加显示，每个假日都以绿点标记。默认情况下，落在上班班次上的假日仍算上班日，但会被标记——便于安排假日工资。开启“将公共假日视为休息日”后，任何落在班次上的假日都会改记为休息，当该假日是带薪休息日时很方便。

### 班次时长和起止时间是固定的吗？

不是。图例中显示的时间段——早班 06:00–14:00、中班 14:00–22:00、夜班 22:00–06:00、白班 07:00–19:00——是典型值，可由雇主调整；预设把做四休四、Panama 和 DuPont 的白班与夜班设为 12 小时，把三班制和做五休二设为 8 小时。周期长度以及做四休四、2-2-3 和 DuPont 的结构取自所引用的参考资料，而 DuPont 内部逐日的白班/夜班具体顺序以及“Pitman = Panama”的称法属于常见的行业惯例，而非引用的事实。

### 我以后还能分享或重新打印排班吗？

可以。整份轮班——班制、班段、起始日期、偏移、月份、每周起始日、假日所在国家/地区以及“假日视为休息”的设置——都保存在页面的 URL 中，因此分享链接和打印的“扫码重新查看”二维码都会重新打开完全相同的排班。任何内容都不会保存在服务器上，也无需账户。

## Related calculators

- [工作日计算器——两个日期之间的工作日天数](https://youcalc.com/zh/date-time/working-days-counter/)
- [考勤工时计算器——含加班费与周薪](https://youcalc.com/zh/date-time/time-card-overtime/)
- [每月第几个星期几查询计算器](https://youcalc.com/zh/date-time/nth-weekday-finder/)
- [项目截止日期规划器——阶段排期与缓冲](https://youcalc.com/zh/date-time/deadline-planner/)
- [课程表计算器](https://youcalc.com/zh/date-time/timetable-calculator/)
- [种植日历计算器](https://youcalc.com/zh/date-time/planting-calculator/)

## Sources

- https://en.wikipedia.org/wiki/Shift_plan
- https://www.cdc.gov/niosh/fatigue/about/

---

Interactive version: https://youcalc.com/zh/date-time/shift-pattern-calculator/ · From YouCalc — https://youcalc.com
