-
-
[原创]万年历巧算星期几
-
发表于:
2008-11-12 14:20
3377
-
只要随便说出公元几几年几月几日就可以马上算出是
星期几,你相信吗?读者姚江啸就有这样的办法,他花了一年多时间,寻找出了这样一个计算方法,大家来看看吧!
只要计算出日的代码,月份代码,年份代码。三个加起来除以七的余数就是星期几,(如余数是三,则就是星期三)。
日的代码计算:日的代码最简单,就是它本身,是几号就是几
。
月份代码计算:月份代码也很简单,下面有十二个数:144725736146,分别代表一至十二月份每个月的代码。比如,九月份的代码为6。(据姚江啸介绍,他是用逆推的方法,计算出这12个月份代码的,即知道某年某月某日是星期几,反过来推算月份代码。)
年份代码计算:年份代码相对比较复杂,先记住2000年对应的年份代码是4,这是基础代码,牢记即可。
假如大于2000年,比如2010年,则对应的年份代码是(2010-2000)÷4=2……2,再用基数代码4减去2倍的商加上余数再加1。即4-2×2+2+1=3,则2010年对应的年份代码为3。
如果没有余数,即闰年,则余数后面的1也不用加。比如2008年,对应的年份代码为0。
假如小于2000年,比如1991年,则对应的年份代码是(2000-1991)÷4=2……1,再用基数代码4加上2倍的商减去余数。 即4+2×2-1=7,则1991年对应的年份代码为7。
再记住一个特殊情况,即闰年的3到12月份到最后要加1。
举个例子吧,比如1992年8月27日。则(2000-1992)÷2=2……0,再4+2×2-0=8,年份代码计算结果为8,加上8月份的代码3,再加上日的代码27,因为是闰年,所以还要加1,等于39。再除以七的余数为4,则这一天为星期四。
以上内容摘自《钱江晚报》2008年7月25日 第B0006版:生活家
乐天补注:
假如我们只是要计算今年任意日期是星期几,有没有更简单的方法?
首先我们计算一下2008年年份代码:
(2008-2000)/4=2......0
4-2*2+0=0
没有余数,则余数后面的1也不用加。
由于2008年年份代码为0且为闰年
(一个特殊情况,即闰年的3到12月份到最后要加1),得出
新月份代码为:145136147257。
下面我们使用新月份代码计算一下今天(2008-11-12)是星期几:
新月份代码十一月份的代码加上日的代码除以7 (5+12)/7=2......3 余数是3,则今天是星期三。
不太相信?那么我们再多计算几个:
2008-01-18 (1+18)/7=2......5 则2008-01-18是星期五
2008-03-23 (5+23)/7=4......0 则2008-03-23是星期日
2008-08-09 (4+9)/7=1......6 则2008-08-09是星期六
2008-12-01 (7+1)/7=1......1 则2008-12-01是星期一
我们得出的新月份代码只适用于今年(2008年),只要记住它叫你的朋友任意说出一个今年的日期,你都可以轻松算出星期几,很酷吧!
用以上的方法
乐天给大家算出了2009、2010年的新月份代码:
2009年新月份代码:366247251361
2010年新月份代码:477351362472
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)