- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
星期的计算星期的计算
星期的计算
星期的计算是以数学方法计算出某一指定日期是在一周中的哪一天。多种数学算法可计算出过去或未来某一指定日期,是属于一周中的星期几,包括判决日法则(Doomsday Rule),Babwani公式等,但其实这些算法皆基于类似的机制相互变化而来,只是透过不同规则取得相同结果。
算法的典型应用,是计算某人的出生日期或某重大事件的发生日期,是在一周中的哪一天。
目录 [隐藏]
1 简介
1.1 最简单的方法一
1.2 最简单的方法二
2 有用的概念
2.1 同周月
2.2 同周年
3 算法
3.1 例子
3.2 世纪星期表
3.3 年份星期表
3.4 月份星期表
3.5 日期星期表
4 表格法
5 心算法
5.1 判决日
5.2 年数的计算
5.3 例子
6 高斯公式
6.1 例子
7 Babwani公式
8 蔡勒公式
9 主日字母
10 参见
[编辑]简介
差不多所有星期算法的基础皆可归纳如下:
从一个已知的日子作为起始日,一般采用世纪的第一天,通过同余7计算共过去了多少天。如将一周日子由0至6计算,结果将为一余数,如使用1至7计算,则7将代替0。
查表或使用已知规则计算上面的起始日,即该世纪开始的星期数。
查表或使用已知规则计算该年份开始的星期数。
计算该月份开始的星期数。
从该月份开始的计算该日的星期数。
简单来说,使用同余7表示在计算中可剔除7的倍数,如此可把7当作0、8当作1、9当作2、18当作4,如此类推。如果把星期日当作第0日,7日后(第7日)亦是星期日,而第18日则会与第4日相同,为星期日后的4天,即星期四。一些算法把所有加数先行计算,然后把7的倍数剔除,而其他算法则在每一步皆剔除7的倍数。两种做法皆可取,第一种做法较适用于计算机及电脑算法中,其他则较适用于心算。这些计算在熟习后,可在脑内计算出来。
[编辑]最简单的方法一
把四个数加起来然后除七的余数就是,如果整除就是星期日。这四个数分别是:
Y(year):年份减2000
L(leap days):从2000年1月1日到该日之间的闰日数目
M(month):月份的代号,从一月到十二月分别是511462403513,即是一月是5,二、三月是1,四月是4,五月是6,如此类推,十二月是3
D(day):日号
就是说——Y+L+M+D(除7的余数)
举例说:2008年12月10日
(8+3+3+10)除7余3,即该日是星期三,其中Y=8、L=3(三个闰日分别是2000年2月29日、2004年2月29日和2008年2月29日)、M=3(12月的代号是3)、D=10
再举一例:2008年2月10日
(8+2+1+10)除7余0,即该日是星期日,其中Y=8、L=2(从2000年1月1日到2008年2月10日之间只有二个闰日:2000年2月29日和2004年2月29日)、M=1(2月的代号是1)、D=10
此公式的原理 365除七余一,所以每过一个平年,星期数便加一。日数亦是每过一日,星 期数加一。由于2000年1月1日是星期六,0+0+x+1=6, 故1月的代号是5,而1月有31日, (5+31) 除7余1, 故2月的代号是1,如此类推即可找出所有月份的代号。
变化一:可用负数,这时Y和L皆为负。1999年10月10日= —1—0+5+10=14≡0(mod 7)(除7的余数),星期日
变化二:把定点移至1900,相同方法加二(年份数和闰日数由1900年计起,月日计法不变)简单的说,在1700年或以后,2000年减100年的定点对应加2。原因:100年内有24闰日,+124=126一2≡一2 mod7,于是减100年就加2。 注:1700年、1800年、1900年皆不是闰年;2000年是闰年。
举例:1842年8月29日(南京条约签署日)——用四个方法计算,结果当然一样:
一、由1800年计起:4+(42+10+0+29)除7余1(从1800年1月1日到1842年8月29日间的闰日数目是10个,1800年不是闰年),即该日是星期一
二、由1900年计起:2+(-58-14+0+29)除7余1
三、由2000年计起:(-158-38+0+29)除7余1
四、由1700年计起:6+(142+34+0+29)除7余1
所以在某一计算中,只须用最方便的方法。
[编辑]最简单的方法二
把四个数加起来然后同余7就是所求的星期数。这四个数分别是:
C:2(3-(c mod4))(格里历)、(4-c)mod7(儒略历)或查世纪星期表
Y:(y mod28+[y mod28/4])mod7(闰年1、2月份Y-1)或查年份星期表
M:((3.4+(m-3)mod12×2.6)mod7(1、2月份M-1)或查月份星期表
D:d mond7、或查日期星期表
就是说——W=(C+Y+M+D
文档评论(0)