计算特定日期是星期几:蔡乐公式

· · 个人记录

蔡勒公式!(注意是不是泰勒公式

)由蔡勒(Julius Christian Johannes Zeller)推算出,是一种计算任何一日属一星期中哪一日的算法。

具体公式为:

 W = [C/4] - 2C + y + [y/4] + [13 * (M+1) / 5] + d - 1

公式都是基于公历的置闰规则来考虑。

公式中的符号含义如下:
w:星期
c:世纪数减一(年份前两位数)
y:年(后两位数)
m:月(m的取值范围为3至14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月来计算,比如2003年1月1日要看作2002年的13月1日来计算)
d:日
[ ]:称作高斯符号,代表取整,即只要整数部份。
mod:‎‎同余‎(这里代表括号里的答案除以7后的余数

这个公式由世纪数减一、年份末两位、月份和日数即可算出W,再除以7,得到的余数是几就表示这一天是星期几,唯一需要变通的是要把1月和2月当成上一年的13月和14月, C和y都按上一年的年份取值。

因此,人们普遍认为这是计算任意一天是星期几的最好的 公式。这个公式最早是由德国数学家克里斯蒂安·蔡勒

(Christian Zeller, 1822- 1899)在1886年推导出的,因此通称为蔡勒公式(Zeller’s Formula)。

学会了吗?来个实战吧!

对2022年4月26日这一天来说,c=20,y=22,m=4,d=26,代入公式中计算可得

W = [20/4] - 40 + 22 + [22/4] + [13 * (4+1) / 5] + 26 - 1

w=5-40+22+5+13+26-1

w=30,再除以7,余2,说明这一天是星期二。