速算萬(wàn)年某日星期法
公式:某日星期幾=(百年%4*5天+年+年/4+月星期表+日+2天)%7
通同星期偏差表
閏年 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
天數 31 29 31 30 31 30 31 31 30 31 30 31
月 星期表 3 6 0 3 5 1 3 6 2 4 0 2
平年 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
天數 31 28 31 30 31 30 31 31 30 31 30 31
星期 4 0 0 3 5 1 3 6 2 4 0 2
例. 2004年(今年)世上最“弱智”的算法
先復習以上算法,取公式:
某年某日星期幾=(百年%4*5天+年+年/4+月星期表+日+2天)%7
通同星期偏差表(閏年表)
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
天數 31 29 31 30 31 30 31 31 30 31 30 31
星期 3 6 0 3 5 1 3 6 2 4 0 2
將2004年代入。得(其中百年=20,年=04)
2004某日星期幾=(20%4*5天+4+4/4+月星期表+日+2天)%7
=(0*5天+4天+1天+月星期表+日+2天)%7
=(5天+月星期表+日+2天)%7
=(7天+月星期表+日)%7
=(月星期表+日)%7
=(月星期表%7+日%7)%7
2004是閏年,月星期表: 3 6 0 3 5 1 3 6 2 4 0 2
所以,2004年的算法最簡(jiǎn)單,幾乎不用計算。
.現以今年的重大節日為例:
2004年元旦 1月表=3 1日=1 故3+1=4 即2004年元旦是星期四
2004年春節 1月表=3 22日=1 故3+1=4 即2004年春節是星期四
2004年元宵節 2月表=6 5日=5 故6+5=4 即2004年元宵節是星期四
2004年婦女節 3月表=0 8日=1 故0+1=1 即2004年婦女節是星期一
2004年植樹(shù)節 3月表=0 12日=5 故0+5=5 即2004年植樹(shù)節是星期五
2004年投訴節 3月表=0 15日=1 故0+1=1 即2004年投訴節是星期一
2004年清明節 4月表=3 4日=4 故3+4=0 即2004年清明節是星期天
2004年五一節 5月表=5 1日=1 故5+1=6 即2004年五一節是星期六
2004年青年節 5月表=5 4日=4 故5+4=2 即2004年青年節是星期二
2004年母親節 5月表=5 9日=2 故5+2=0 即2004年母親節是星期天
2004年兒童節 6月表=1 1日=1 故1+1=2 即2004年兒童節是星期二
2004年端午節 6月表=1 22日=1 故1+1=2 即2004年端午節是星期二
2004年建黨節 7月表=3 1日=1 故3+1=4 即2004年建黨節是星期四
2004年建軍節 8月表=6 1日=1 故6+1=0 即2004年建軍節是星期天
2004年父親節 8月表=6 8日=1 故6+1=0 即2004年父親節是星期天
2004年教師節 9月表=2 10日=3 故2+3=5 即2004年教師節是星期五
2004年中秋節 9月表=2 28日=0 故2+0=2 即2004年中秋節是星期二
2004年國慶節 10月表=4 1日=1 故4+1=5 即2004年國慶節是星期五
2004年老人節 10月表=4 6日=6 故4+6=3 即2004年老人節是星期三
2004年重陽(yáng)節 10月表=4 22日=1 故4+1=5 即2004年重陽(yáng)節是星期五
2004年立冬節 11月表=0 7日=7 故0+7=0 即2004年立冬節是星期天
2004年冬至節 12月表=2 21日=0 故2+0=2 即2004年冬至節是星期二
二十世紀任意日期舉例(19%4*5=15)
公式:某日星期幾=(百年%4*5天+年+年/4+平年月星期表+日+2天)%7
=(19%4*5天+年+年/4+平年月星期表+日+2天)%7
=(15天+年+年/4+平年月星期表+日+2天)%7
即: 某日星期幾=(年+年/4+平年月星期表+日+3天)%7
1900年元旦 1日=(0/4*5+0%4+1+3)%7=(0+0+4)%7=4
1月表=4(平年) 故 4+4=1 即1900年元旦是星期一
1918年大寒 21日=(18/4*5+18%4+21+3)%7=(20+2+24)%7=4
1月表=4(平年) 故 4+4=1 即1918年春節是星期一
1918年春節 11日=(18/4*5+18%4+11+3)%7=(20+2+14)%7=1
2月表=0(平年) 故 0+1=1 即1918年春節是星期一
1927年元旦 1日=(27/4*5+27%4+1+3)%7=(30+3+4)%7=2
1月表=4(平年) 故 4+2=6 即1927年元旦是星期六
1948年臘八節 18日=(48/4*5+48%4+18+3)%7=(60+21)%7=4
1月表=3(閏年) 故 3+4=0 即1927年元旦是星期天
1949年國慶 1日=(49/4*5+49%4+1+3)%7=(60+1+4)%7=2
10月表=4(平年) 故 4+2=6 即1949年國慶是星期六
1962年勞動(dòng)節 1日=(62/4*5+62%4+1+3)%7=(75+2+4)%7=4
5月表=5(平年) 故 5+4=2 即1962年勞動(dòng)節是星期二
1999年12月31日 31日=(99/4*5+99%4+31+3)%7=(120+3+34)%7=3
12月表=2(平年) 故 2+3=5 即1999年12月31日是星期五
二十一世紀新千年蟲(chóng)算法(20%4*5=0)
公式:某日星期幾=(百年%4*5天+年+年/4+閏年月星期表+日+2天)%7
=(20%4*5天+年+年/4+閏年月星期表+日+2天)%7
即: 某日星期幾=(年+年/4+閏年月星期表+日+2天)%7
2000年元旦 1日=(0+0/4+1+2)%7=(0+0+1+2)%7=3
1月表=3(閏年) 故 3+3->6 即2027年元旦是星期六
2018年大寒 20日=(18+18/4+20+2)%7=(18+4+20+2)%7=2
1月表=4(平年) 故 4+2->6 即2018年大寒是星期六
2018年春節 16日=(18+18/4+16+2)%7=(18+4+16+2)%7=5
2月表=0(平年) 故 0+5=5 即2018年春節是星期五
2027年元旦 1日=(27+27/4+1+2)%7=(3+30+3)%7=1
1月表=4(平年) 故 4+1=5 即2027年元旦是星期五
2048年臘八節 22日=(48/4*5+48%4+22+2)%7=(60+24)%7=0
1月表=3(閏年) 故 3+0=3 即2027年臘八是星期三
2099年12月31日 31日=(99/4*5+99%4+31+2)%7=(120+3+33)%7=2
12月表=2(平年) 故 2+2=4 即2099年12月31日是星期四
二十二世紀任意日期舉例(21%4*5=5)
公式:某日星期幾=(百年%4*5天+年+年/4+平年月星期表+日+2天)%7
=(21%4*5天+年+年/4+平年月星期表+日+2天)%7
=(5天+年+年/4+平年月星期表+日+2天)%7
即: 某日星期幾=(年+年/4+平年月星期表+日)%7
2100年元旦 1日=(0/4*5+0%4+1)%7=(0+0+1)%7=1
1月表=4(平年) 故 4+1=4 即2100年元旦是星期五
2100年1月31日 31日=(0/4*5+0%4+31)%7=(0+0+31)%7=3
1月表=4(平年) 故 4+3=0 即2100年1月31日是星期天
2100年2月1日 1日=(0/4*5+0%4+1)%7=(0+0+1)%7=1
2月表=0(平年) 故 0+1=1 即2100年2月1日是星期一
2100年2月28日 28日=(0/4*5+0%4+28)%7=(0+0+28)%7=0
2月表=0(平年) 故 0+0=0 即2100年2月28日是星期天
2100年3月1日 1日=(0/4*5+0%4+1)%7=(0+0+1)%7=1
3月表=0(平年) 故 0+1=1 即2100年3月1日是星期一
2100年3月31日 31日=(0/4*5+0%4+31)%7=(0+0+31)%7=3
3月表=0(平年) 故 0+3=3 即2100年3月31日是星期三
2100年12月31日 31日=(0/4*5+0%4+31)%7=(0+0+31)%7=3
12月表=2(平年) 故 2+3=5 即2101年12月31日是星期五
2101年元旦 1日=(1/4*5+1%4+1)%7=(0+1+1)%7=2
1月表=4(平年) 故 4+2=6 即2101年元旦是星期六
2101年1月31日 31日=(1/4*5+1%4+31)%7=(0+1+31)%7=4
1月表=4(平年) 故 4+4=1 即2101年1月31日是星期一
2101年2月1日 1日=(0/4*5+1%4+1)%7=(0+1+1)%7=2
2月表=0(平年) 故 0+2=2 即2101年2月1日是星期二
2101年2月28日 28日=(0/4*5+1%4+28)%7=(0+1+28)%7=1
2月表=0(平年) 故 0+1=1 即2101年2月28日是星期一
2101年3月1日 1日=(0/4*5+1%4+1)%7=(0+1+1)%7=2
3月表=0(平年) 故 0+2=2 即2101年3月1日是星期二
2101年3月31日 31日=(0/4*5+1%4+31)%7=(0+1+31)%7=4
3月表=0(平年) 故 0+4=4 即2101年3月31日是星期四
2101年12月31日 31日=(0/4*5+1%4+31)%7=(0+1+31)%7=4
12月表=2(平年) 故 2+4=6 即2101年12月31日是星期六
2104年2月29日 29日=(0/4*5+1%4+29)%7=(0+1+29)%7=2
2月表=6(閏年) 故 6+2=1 即2104年2月29日是星期一
2104年3月1日 1日=(0/4*5+1%4+1)%7=(0+1+1)%7=2
3月表=0(閏年) 故 0+2=2 即2104年3月1日是星期二
2199年12月31日 31日=(99/4*5+99%4+31)%7=(120+3+31)%7=0
12月表=2(平年) 故 2+0=2 即2199年12月31日是星期二
聯(lián)系客服