鳕鱼天空

This is Mr Wang's Tech Blog.

如何计算某一天是星期几

这是个专题,最精密公式是蔡勒公式,但是计算数据太大,现在多利用代码,我所用的,
是年代码,月代码,和日期
20xx年的年代码  xx+[xx]   在蔡勒公式中 是yy+[yy/4]是取整
2015年 年代码是15+[15/4]取整=15+3     
3是在15年里有三个闰年(04,08,12) 用7模化18-2x7=4在蔡勒公式中没进行模化  
又如2016年的年码 16+[16/4]=20模化20-2x7=6
月代码是常数对平年它就是2005年或2011年或2022年各月一日的星期值做该月的月码,
我背写这从1到12月有月码是6,2,2,5,0,3,5,1,4,6,2,4可以看05,11,年的年历
对闰年就是2016年各月一日的星期做该月的月码只有1月是5,2月是1的变化,其它和平年一样
日期 是要计算星期几的日期 比如7月9日的9日
年码+月码+日期=数值模化为所求星期值
例   2018年8月26日是星期几?   年码18+4=22模化22-3x7为1  月码8月为1 日期 26
三码相加  年1+ 月1+日期26=28 模化为0 星期日