万能公式计算星期几的常用方法为蔡勒公式(也称费勒公式),其标准形式为:
W = [c/4] − 2c + y + [y/4] + [26(m+1)/10] + d − 1
或简化为:
W = y + [y/4] + [c/4] − 2c + [13(m+1)/5] + d
公式参数说明
-
符号定义
- W:计算结果(对7取余数,0为星期日,1~6对应星期一到星期六);
- c:世纪数(年份前两位)减1,例如2025年的c=20;
- y:年份后两位,例如2025年的y=25;
- m:月份(需调整范围:1月视为13月,2月视为14月,因此3~12月对应3~12);
- d:日期;
- [ ]:取整运算,仅保留整数部分。
-
特殊月份处理
若月份为1月或2月,需将年份视为前一年,例如2025年1月需按2024年13月计算。
计算步骤
-
调整年份和月份
- 若m=1或2,则年份减1,m分别调整为13、14;
- 示例:计算2025年1月1日时,需调整为2024年13月1日。
-
代入公式计算W
- 按调整后的参数代入公式,计算结果W;
- 示例:计算2049年10月1日(c=20, y=49, m=10, d=1):
W = 49 + [49/4] + [20/4] − 2×20 + [26×(10+1)/10] + 1 −1
= 49 + 12 + 5 − 40 + 28 + 0 = 54
54 ÷ 7 余5 → 星期五。
-
取余数判断星期
- 将W除以7,余数对应星期(0=星期日,1=星期一,依此类推)。
注意事项
- 公式适用于公历1582年10月15日及之后的日期;
- 计算时需严格处理月份调整和取整规则,否则结果可能偏差。
该公式通过数学映射实现日期到星期的快速转换,核心逻辑是将年、月、日转化为整数运算,避免查表或逐日计数。