蔡勒(Zeller)公式

解决: 某一天是星期几 ?


蔡勒公式可以直接解决这个问题
公式:$w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1$

$w$: 星期

$c$:世纪$-1$

$y$: 年(最后两位数字)

$m$: 月 ($ 3<=m<=14 $,即在蔡勒公式中,每年的$1,2$月要看做上一年的$13,14$月来计算,比如:$2003/1/1$ 要看做 $ 2002/13/1 $ 来计算)

$d$: 日

$ [ $ $ ] $: 向下取整

结果

最后的结果:$ w $ % $ 7 $ 的余数是几就是星期几,如果是 $0$ 为星期日

例子

以2049年10月1日(100周年国庆)为例,用蔡勒(Zeller)公式进行计算,过程如下:

蔡勒(Zeller)公式:$w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1$

= $49+[49/4]+[20/4]-2×20+[26× (10+1)/10]+1-1 $

= $49+[12.25]+5-40+[28.6] $

= $49+12+5-40+28 $

= $54 $ (除以 $7$ 余 $5$)

即$2049$年$10$月$1$日($100$周年国庆)是星期 $5$。