有谁知道只要说某年月日就可以用心算快速算出是星期几的方法?

如题所述

一、基本思路:
  找到所求年月日的代码,相加后除以7,余数是几即为星期几.如今天是2007年6月25日,年月日的代码分别是1,3,25,相加得29,29÷7=4……1,即今天为星期一.因此,这种算法的关键就转变成了寻找“年月日的代码”了.
  二、找代码的方法:
  1、年份的代码:最复杂一些.
  看这一年的第一天是星期几就为几,如2005年1月1日是星期六就为6,2006年1月1日是星期日就为7,2007年1月1日是星期一就为1……如果这一年是闰年,3月以后的代码需要加1,如2008年1月1日是星期二,1月到2月的年份代码为2,3月到12月的年份代码就为3.
  还可以根据周期进行推算,因为年份的代码是每7个数字为一个周期.
  下列一组年份的代码可供记忆及推算:
  2007年——1
2008年1月和2月——2
  2008年3月起——3
2009年——4
  2010年——5
2011年——6
  2012年1月和2月——7
2012年3月起——1
  2013年——2
  2、月份的代码:首先要熟记歌谣,“鹿儿来,五岭山,虎一嘶,鹿儿死”,翻译成数字就是——
  6
2
2
5
0
3
5
1
4
6
2
4
  每个月份对应一个数字,即一月对6,二月对2,三月对2,依此类推.
  3、日期的代码:最简单,原来是几号,代码即为几.
  三、再举两个例子加以说明:
  1、2007年7月1日:
  年月日的代码相加=1+5+1=7,7÷7=1,没有余数,则这一天是星期日.
  2、奥运会开幕式:2008年8月8日
  年月日的代码相加=3+1+8=12,12÷7=1……5,这一天是星期五.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-06-30
W=C/4-2C+Y+Y/4+26*(M+1)/10+D-1
W算出后除以7的余数便是星期数
C=年份前两位数
Y=年份后两位数
M=月份
D=日期
逢一月,二月算上一年的13月,14月本回答被提问者采纳