谁能告诉我计算任意一年月日是星期几的方法啊?

[复制链接]
查看11 | 回复4 | 2019-11-10 23:33:57 | 显示全部楼层 |阅读模式
心算手算任一天是星期几 ? 2112年5月1日.星期日.2212年5月1日是星期五。2312年呢?是星期三。这都用简单的方法推算出来的,虽然推算几百年前,后的一天是星期几,没有实际意义,还是有很多人感到有兴趣的。也是开发知识的一个侧面。网页介绍的计算方法,多是蔡勒公式,麻烦,不适用。很多人,并不喜欢那个代入那么多的参数的公式。非常希望找简单可行的计算方法。这里就是用手算和心算,能够迅速的算出过去和未来任何一天是星期几,你愿意知道吗?1 ; 从现百年中的元旦是星期几开始?要想知道公历那一天是星期几? 必先知道该年首日,月首日是星期几?从万年历查知,2001年,02年,03年,04年,05年的元旦是星期1,星期2,星期3,星期4,和星期6。好了,我们并不想查表来得到, 那一年的元旦是星期几?我们要的是对应的计算公式。根据2001年元旦是星期一给计算这百年每年的首日(元旦)是星期几带来了方便。也就是年数加其中闰年数除7的余数, 也可用计算得出;
用公历年的末两位数乘1.25的积,取整,除7 的余数就是了。比如2013年
13×1.25=16.25
取整 16
16÷7
余数2(16减14更直接)所以2013年元旦是星期2又如2027年
27×1.25=33.75
取整33
33 - 4×7 = 5
2027年的元旦 是星期5这个馀数就叫“年代码”吧。指明了平年(365天)元旦是星期几的值。闰年它减1为元旦的值。例如;2012年是闰年
12×1.25=15 得整数的年代码。整数;15
15 -7×2=1
所以2012年年代码是1,元旦星期数是年代码减1
1-1=0
星期天顺便说一下年数乘1.25后所得的积中,小数部份为0.25,0.5,0.75,说明这是闰年后的第一年,第二年,第三年,下一年得整数就是闰年了。



2 ;年中的12个月首日为星期几? 元旦是星期几已经知道了,它和这一年其它12个月的月首日是星期几,有关联吗?是!,它们之间,关系密切 。实际上只要确定元旦是星期几和当年是否闰年?就把整个全年各月首日是星期几给定义了。
2006-2009年各年中月中的首日(一日)星期之间关系

2
2006年2007年
2008年(闰年) 2009年月编号 月

星期日星期一
星期三 (≠1月) 星期四
0
1,10月
星期一星期二
星期四
星期五
6
5月
星期二星期三
星期五
星期六
5
2,8月
星期三星期四
星期六(≠2月) 星期日
4 2,3,11月
星期四星期五
星期日
星期一
3
6月
星期五星期六
星期一
星期二
2
9,12月
星期六星期日
星期二
星期三
11, 4, 7月
如 2006,2007,2008,2009年的一月一日是星期日,星期一,星期二,星期四
闰年的一月在月编号1同4,7月。二月在月编号5同八月。 06年是平年如上表一月一日和十月一日是星期日,五月一日是星期一,八月一日是星期二,而二月三月十一月一日是星期三,六月是星期四,九月和十二月一日是星期五,四月和七月一日是星期六。推论05年是从星期六到星期五的,就是这种月次序记住就好,只是星期逐年逐变的。所以只要能定位 任一月首日的星期几,则各月首日是星期几就一目了然了,求某月某日是星期几应当说是不难了,所以这种关系必须掌握和记熟。怎么记?记在手指头的关节上。那就有了永不丢失真正的计算星期的万年历了。
3 ;手指做计算工具需要熟练记住一些数据,没别的办法,搞化学的就得背背元素周期表,同样道理,赿熟速度赿快。有人为了计算一年某一天是星期几,而记下了全年的月代码 。我们的记月代码,可以测百年。甚至跨世纪,不值得吗!我们可以采用左手食指做工具,七天为一周期,把“月代码”“年代码”,都记在左手食指上,它“上,下“关节共有七个部位。成为以0到6循环圈。弯曲的食指,非常容易被姆指在这关节上下移动,存取数据和运算。
最关键的是把关节上的代码逆时针从0到6每个关节上的月份次序排好,关节码上的月份是最基本的数据,需要记熟的,否则,所谓心算和手算就无意义。从关节0做2000年首日代码(只是代码,闰年),1处做01年,也就是说01年的“年代码”是一,把要测定某年可用逐一的数(shu)年的方法,或者用计算法定位在某一月上,该月的首日就是星期日。它们的关系非常清楚,这个星期日标志月定位了其它各月首日的星期几。我们以2001年做例,年代码为1,说明四,七月的首日是星期日,顺时针元旦和十月一日是星期一,五一是星期二,八一是星期三,,,, 02年的年代码为2,九月和十二月首日是星期日,四,七月首日是星期一,元旦是星期二,以此类推,循环百年,测百年。左手食指的上,下关节:“月代码”“年代码”示意图
84年
83年
。。
。。
。。11年
10年
06年
05年
04年 手背和上关节 (1,10月) (5月) (8月)
0
6
5(年代码)
指根
|========|=======|========|4指尖(2,3,11月09年15年
1
2
3
(4,7月)(9,12月) (6月)(20xx年)
01年
02年
03年
07年
08年
12年
13年
14年上图可以看出,2006年1月和10月1日是星期日,顺序五一是星期一,八一是星期二,2,3,11月是期3。 6月是期4。 9月12月是期5。4月7月是期六。计算任一年某日 如2035年8月23日,该年不是闰年 解:年代码35×1.25=43.75 43-6×7=1元旦是星期一,五一是星期二, 八月一日是星期三,(其月中的1,8 ,15,22,29日都是星期三。)可以 用23-21=2
即相当是八月二日是星期四。4计算“年代码”1 ;找出年代码上有很多种方法,一种是从食指内根处,即年代码为1,也是01年,逆时针数1年进1个 关节,闰年(即4 的倍数的年)进2个关节,逐次数到所要求的年份。对大数据可减28,56,84(28是循环周期,是年代码的模)处理简化后计算是方便的。比如2030年就是30-28=2,2070年70-56=14,14+3闰 用7模化为32 ;另一种是计算即;该年后两位数乘1.25 积的整数部份除7所得的馀数(即以7为模)以77年为例;77×1.25=96.25 96 -84=12
12-7=5馀5简便算法还有77+19(77年中的闰年数)用7模化,77为0,19为5,0+5=5当然 能够心算那是更好。经常计算会记住一些典型的码,我就把代码6是11,22,33,44年, 代码5是55,66,77,88年,代码4是99年等,记的很牢,当然,还有一些。
5
计算星期几要注意的方面 不管你怎么算,你要算那年的,那月的,那日的,心算也好,手算也好,计算也好 ,要把“年代码”,准确的放在对号的关节上,该关节上的月份的首日(一日)就被定位成星期天,计算过程中,千万别忘了这个首日是星期天的标志月的关节,要测那个月的某日,从那月起为1日顺时针数日到位,与那个标志的星期日的位差定星期几。
说是这么说,真正大数字日子要一一的数可太苯了,可以根据数情况从1,8,15,22,29,起数,也可减7,14,21,28,数其不超过6的差数。就轻松多了。闰年要记住一月按四,七月计算,二月按八月计算,如能再增加点记住的如“年代码1就是4,7月”2就是9.12月.3就是6月....即马上知道当年的星期月,这可就更流利了。 当然,按上述原理,做成双圆盘,即可推百年,做成三圆盘则可跨世纪。但使人兴趣索然,还容易丢失,掌握了方法,就不会丢失,这种手算我想还是很“huyou"人的。上面讲的是2000到2099年的推算,能准确得出结果,不出错误也需要下一番大功夫。有很多地方可能还没说到位,内中可能还有很多窍门,还得靠你自己琢磨。
6;计算跨世纪的某一天是星期几? 只要会计算2000到2099年的某一天是星期几,就可以直接算出跨世纪该天星期几。先举例子:1733年5月1日是星期几?计算2033年5月1日
是星期日 加5 等于星期五 即1733年5月1日是星期五1822年8月8日是星期几?2022年8月8日是
星期1
加3 等于星期四 即1822年8月8日是星期四1935年4月15日是星期几?2035年4月15日是
星期天 加1等于星期一 即1935年4月15日星期一只要求出2000到2099年某年月日的星期几加5,3,1 即是17,18,19某某年该年月日的星期几这种算法正确吗?可用蔡勒公式证明; W=[C/4]-2C+Y+[Y/4]+[13×(M+1)/5]+d-1蔡勒公式先代入20y年 m月 d日W(20)=[20/4]-2×20+y+[y/4]+[13×(m+1)/5]+d -1.....1式
代入17y年
m月
d日W(17)=[17/4]-2×17+.....................同上.............2式W(20)=5-40=-35+KW(17)=4-34=-30+KW(17)-W(20)=-30-(-35)=5
所以证明17y年m月d日是20y年m月d日加5



再说18y年m月d日W(18)=[18/4]-2×18= - 32W(18)- W(20)=-32 -(-35)= 3
所以证明18y年m月d日是20y年m月d日加3再证明19y年的W(19)=[19/4]- 2×19=-34W(19)-w(20)=-34-(-35)=1
所以证明19y年m月d日是20y年m月d日加 1 。 值得提出的这个算法对1700,1800,1900年这几个年都不像2000年是闰年的 ,所以算这几个00年的一月要同十月,二月同三月或十一月计算。否则跟着2000年一,二月算就把它们算成闰年的星期了。星期回归大周期是400年 蔡勒公式中说明了这个数学式是400年是一个大循环周期。所以21**年的星期 序列和17**年是相同的,同理22**年对18**年,23**年与!9**年 是相同的。
这样只要你愿意,侭管算,不过是20**年加5,3,1 而已但希望不是笔算,而是心算和手算。黑色星期五计算中发现点有趣的现象,目前网上的万年历有的加了黑色星期五的标志,即是星期五和13日赶到同一天,是个不吉利的日子吧!但是,谁要想专挑出这个日子在那年在那月?一定不容易。那个月有黑色星期五呢?答案是那个月的首日(1日)是星期天,明白了吧,年代码就是找这个月的,如01年的4,7月,02年的9,12月,12年的1,4,7月,2012年中,一年中有三个黑色星期五。算着玩而已,可别认真。我"huyou"了这些东东,就告一个段落吧!验
证我写完上面的文章后,还怕数据上出问题,尤其开首那几个跨世纪的例子。没有自信,做了验证。2112年5月1日
手算结果是星期 日2212
五2312
三 W=[C/4]-2C+Y+[Y/4]+[13×(M+1)/5]+d-1蔡勒公式代入W(2112)=5-42+12+3+(13*6/5)+1-1=-7=0
0W(2212)=5-44+12+3+(13*6/5)+1-1=-9
加14 = 5W(2312)=5-46
=-11
14 = 3难道是偶合吗?2334年5月1日手算
星期二W=5-46+34+8+15=16 16-14=2
1815年6月15日滑铁卢手算是星期四W(1815)=4-36+15+3+(13*7/5)+14=4.2
4不会有什么特例了吧!
回复

使用道具 举报

千问 | 2019-11-10 23:33:57 | 显示全部楼层
用当天是几月几日星期几做底,然后算出今年离那年有几年零几天。再用年数减去闰年数,乘365除再加上366乘闰年数再加上零的天数,最后除7,如是整数,就是当天是星期几就是那天是星期几;如不是整数,就要分两种情况:如果往后数(如2007年一月一日至2008年一月一日),余数是几,就用今天往后数几天,那天星期几就是你要求的那天是星期几;如往前数,(如2008年一月一日至2007年一月一日)余数是几,就用今天往前数几天,那天星期几就是你要求的那天是星期几。
回复

使用道具 举报

千问 | 2019-11-10 23:33:57 | 显示全部楼层
n=年数积+天数积(1:周日,2:周一,3:周二,4:周三,5:周四,6:周五,7:周六)年数积:5*(X-1)/28的小数部分乘7的积(取整)(X表示公元纪年数)天数积:Y/7的余数(Y表示当年已过天数)例如:2019年4月24日是周几?5*(2019-1)/28=360.3571429,取小数部分0.3571429*7=2.5,取整2为年数积(31+28+31+24)/7=16.....2,故天积数为2.(上半年单数月31天,下半年双数月31天,二月28天,一年365天)n=2+2=4,故这天周三。再例:2008年5月12日是周几?5*(2008-1)/28=358.3928571,取小数部分0.3928571*7=2.75,取整2为年数积(31+29+31+30+12)/7=17.....0,故天积数为0.(闰年二月29天)n=2+0=2,故这天周一。
回复

使用道具 举报

千问 | 2019-11-10 23:33:57 | 显示全部楼层
容易啦小学的时候好像数学奥林匹克上有学过
回复

使用道具 举报

千问 | 2019-11-10 23:33:57 | 显示全部楼层
电脑……
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行