去年我自己栽过一次「中秋节调休」的坑。当时以为查查资料就能搞定,结果越查越懵,最后还是找了个懂行的朋友才理顺。
别急着算,先搞懂「中秋节调休」的概念
工作日计算=自然日-周末-法定节假日+调休上班日。中国法定节假日11天:元旦1天、春节3天、清明1天、劳动节1天、端午1天、中秋1天、国庆3天。但实际放假通过调休拼成连休,所以要用当年的放假安排表。跨年跨月的计算最容易出错,用日期库能避免大部分坑。日期相关的计算,"起始日"和"结束日"含不含当天要先约定清楚。
原理拆开看
2026年放假安排:元旦1月1日、春节2月17-23日、清明4月4-6日、劳动节5月1-5日、端午6月19-21日、中秋10月1-3日(与国庆连休)、国庆10月1-8日。调休上班日要把对应周末算成工作日。时区影响日期计算,跨时区场景统一用UTC存储显示时转本地。工作日计算要查当年的放假安排表,不能简单乘5/7。
举个实例你就懂了
先搞清算法。中秋节调休这类生活计算,本质是日期或时间的加减。难点不在算术,而在边界情况:闰年、闰月、节假日、农历公历转换,这些搞错结果就错。闰年判断口诀:四年一闰、百年不闰、四百年再闰。日期加减用专门的库或时间戳,手算容易漏闰年漏跨月。
几个要注意的地方
为了避免算完发现对不上,请注意:
- 法定节假日11天但实际休息更多,通过调休拼成连休
- 调休补班那天要算工作日,别光去掉周末忘了加回来
- 2026年春节2月17-23日、国庆10月1-8日,调休补班日要查公告
- 不同行业有不同作息,按实际工作制调整
今天就到这。下次再有人问你「中秋节调休」,你直接把这篇甩给他,保准他觉得你是行家。
时间戳是绝对时间不受时区影响,转本地时间要加时区偏移。日期相关的计算,"起始日"和"结束日"含不含当天要先约定清楚。单次算错通常是边界没处理:闰年、跨月、节假日、时区。用在线工具算比手算可靠,工具内置了完整的数据表和边界处理。日期加减用专门的库或时间戳,手算容易漏闰年漏跨月。跨年跨月的计算最容易出错,用日期库能避免大部分坑。工作日计算要查当年的放假安排表,不能简单乘5/7。农历和公历的对应每年都变,去年的数据今年不能直接用。时区影响日期计算,跨时区场景统一用UTC存储显示时转本地。农历转换要查数据表,没有简单公式,因为闰月大小月每年不同。日期计算别用"每月30天"这种近似,实际28到31天不等,会算错。闰年判断口诀:四年一闰、百年不闰、四百年再闰。
常见问题
【中秋节调休怎么算?】本质是日期时间加减,用日期库或时间戳算最准。难点是闰年闰月节假日农历等边界情况,用在线工具输入日期直接出结果最省事,不用记公式。
【中国法定节假日有几天?】11天:元旦1天、春节3天、清明1天、劳动节1天、端午1天、中秋1天、国庆3天。但实际放假通过调休拼成连休,总休息天数多于11天,调休补班会占用周末。
【调休是什么意思?】调休是把周末和法定节假日重新组合,形成连休。比如国庆3天法定假,调休把前后周末调进来拼成7天连休,但某个周末要补班。计算工作日时补班那天要算工作日。
【工作日怎么计算?】自然日-周末-法定节假日+调休上班日。法定节假日11天但实际通过调休拼连休,所以要用当年放假安排表。2026年春节2月17-23日、国庆10月1-8日等。