利益相关:我是《班妥了》的开发者。这篇文章记录我为什么做这个工具,以及我对倒班日历的一些理解。
普通日历以“周”为单位:周一到周五工作,周末休息。
倒班生活却以“循环”为单位:白班、夜班、休息,可能四天一轮,也可能六天一轮。两套时间体系叠在一起,最常见的结果就是——日历明明看得很满,生活却还是安排不明白。
朋友问下周有没有空,要从今天的班次往后数;临时换了一天班,担心后面的循环全部错位;看到一个“休”字,也不确定前一晚是不是刚上完夜班。
我后来觉得,一张真正适合倒班生活的日历,至少不能在下面三件事上“骗人”。
一、循环规则不应该变成一堆重复记录
假设班次是“白、白、夜、夜、休、休”,最笨的方式是把未来几个月每天都填一遍。
这样看似直观,实际很脆弱:修改规则时要重做很多天,也很难区分哪一天是按规律生成的,哪一天是临时换班。
更自然的方式,是只保存循环本身和一个起始日期。日历负责计算结果,用户不用反复录入。
二、一次临时换班,不应该改写整个未来
倒班中最常见的不是“规则彻底改变”,而是某一天请假、顶班或换班。
这类变化应该只是当天的覆盖记录。当天按照临时班次显示,第二天仍然回到原来的循环。只有班制真的调整时,才从新的生效日期开始一段新规则,同时保留过去的历史。
这件事听起来像软件的数据设计,其实直接影响使用者的安全感:改完今天,不必担心下个月也悄悄错了。
三、“休息”不一定等于“有空”
夜班 20:00 到次日 08:00,日历上第二天也许没有新班次,但身体还在补上一晚的消耗。
所以做生活安排时,我更愿意把时间分成三类:
- 上班时间;
- 恢复时间;
- 真正可支配的连续休息时间。
这样看未来一个月,才更容易找到适合体检、聚会、陪家人或短途出行的窗口。
我把这些想法做成了一个轻量工具
《班妥了》的个人版主要解决循环排班、单日覆盖、提醒,以及月度和年度统计。
团队版则面向小团队:可以维护成员和岗位,逐日安排班次,再从月历里查看某一天谁在岗。它适合解决“排班看清楚”这件事,但不是考勤、薪资、劳动合规一体化的 HR 系统。
目前有鸿蒙版本和微信小程序版本。
鸿蒙版免费、无广告、无需登录,数据保存在本地,并提供 2×2、2×4 桌面卡片;微信小程序适合跨手机系统使用,也方便直接查看团队排班。
我越来越觉得,排班工具最重要的不是功能堆得多,而是让人敢相信日历上的结果:规则变化有边界,临时调整不会牵连未来,过去的记录也不会被新设置改写。
下面放一张鸿蒙版个人排班界面。颜色只是表面,背后真正重要的是那套能把循环、例外和历史分开的逻辑。
