怎样由日期推算是星期几

怎样由日期推算是星期几

只需要知道三个代码
日期代码+月份代码+年份代码
就可以秒算任意年份任意日期的星期数

方法
1、日期代码指的是日期数,如3月18号,日期代码为18。4月7号,日期代码为7。
2、月份代码(需要小小记忆)
五月 是 0
八月 是 1
二月 三月 十一月 是 2
六月 是 3
九月 十二月 是4
四月 七月 是5
一月 十月 是 6
如果遇到闰年 则二月代码变为1,一月代码变为5,其它不变。即,非闰年的月份代码为622503 514624,闰年的月份代码为512503 514624。
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=35
35是7的倍数,所以2010年4月25日是星期日
再比如算一下2010年10月1日
日期代码1
月份代码6
年份代码5
日期代码+月份代码+年份代码=1+6+5=12
12除以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.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-07-28
根据日期的规律和立法的原理,我们可以得到一个计算的公式:s=x-1+[ⅹ÷4]-[ⅹ÷100]+[x÷400]+c,其中,x表示要算的那年是多少年。c表示从这年元旦算到这天为止,包括这天的天数。[x÷4]表示ⅹ÷4整数部分,不计后面的小数。求出s后用7来除。最后除出来,余几就是星期几。例如余一就是星期一余二就是星期二。
列如计算,1954年2月16日是星期几。
s=1954-1+[1964÷4]-[1954÷100]+[1954÷400]+47
=1953+488-19+4+47(47表示,从元旦算到这天为止,包括这天。)
=2473
2473÷7等于353余2因此这一天是星期二。
第2个回答  2019-12-23
今天的日期,看星期几,然后再逐日的往后推,那样就可以推出是星期几了?
第3个回答  2021-01-01

如何快速知道对应日期是星期几?

第4个回答  2020-04-09
相似回答