如何根据日期计算该日期所对应的是星期几?对于2001年到2099年的各年的十一国庆节和平年的元旦是星期几的公式如下;20XX年 为 XX+[XX/4]=模化比如 2017年 XX=17 [17/4]=[4.25]取整为417+4=21模化21/7 余0 星期日这也是蔡勒公式第一部份是这百年定位十一星期,或称为年码。各月一日的星期关系是;十一的星期加1是五一的星期,加2是八一,加3是三月,十一月一日的星期,加4是六月,加5是九,十二月,加六是四,七月,平年元旦,国庆节星期相同,二月三月十一月星期相同。闰年一月四月七月星期相同,二月与八月星期相同。这也是蔡勒公式后部份代入后处理得到的具体数据。
只需要知道三个代码日期代码+月份代码+年份代码就可以秒算任意年份任意日期的星期数方法1、日期代码指的是日期数,如3月18号,日期代码为18。4月7号,日期代码为7。2、月份代码(需要小小记忆)五月是0八月是1二月三月十一月是2六月是3九月十二月是4四月七月是5一月十月是6如果遇到闰年则二月代码变为1,一月代码变为5,其它不变。即,非闰年的月份代码为622503514624,闰年的月份代码为512503514624。3、年份代码举个例子2010年的代码,我们用尾数10除以4(忽略余数)再加上10得到数字12,再用12除以7,得到的余数5就是2010年的代码。
也就是说,心算出2000到2099任意年份的代码,只需将其后两位数X除以4(忽略余数),然后与X相加,并除以7就可以了,得到的余数就是其年份代码。10年的年份代码是5,11年年份代码为6。4、秒算任意日期的星期数如,我们算一下2010年4月25日日期代码25月份代码5年份代码5日期代码+月份代码+年份代码=25+5+5=3535是7的倍数,所以2010年4月25日是星期日再比如算一下2010年10月1日日期代码1月份代码6年份代码5日期代码+月份代码+年份代码=1+6+5=1212除以7余5,所以2010年10月1日是星期五如果得到的代码和是小于7的数,那么此数直接是星期数如果得到的代码和是大于7的数,那么将该数除以7得到的余数为星期数。方法二原理:蔡勒公式1、W=[C/4]-2C+y+[y/4]+[26(m+1)/10]+d-1(其中[]为取整符号)
2、其中,W是所求日期的星期数.如果求得的数大于7,可以减去7的倍数,直到余数小于7为止.c是公元年份的前两位数字,y是已知公元年份的后两位数字;m是月数,d是日数.方括[]表示只截取该数的整数部分。
3、还有一个特别要注意的地方:所求的月份如果是1月或2月,则应视为前一年的13月或14月.所以公式中m的取值范围不是1-12,而是3-14.