求闻百科
搜索
切换搜索
切换菜单
切换个人菜单
查看“復活節的計算”的源代码
求闻百科,共笔求闻
更多语言
阅读
查看源代码
查看历史
页面
讨论
更多操作
←
復活節的計算
因为下列原因,您没有权限编辑本页。请逐条确认下列问题是否解决后再试。
您所请求的操作,仅限具有
注册用户
权限的
用户
执行。
若您尚未登录求闻百科账号,请您
登录
求闻百科账号后操作。
您尚未完成实名制验证,因此操作受限。请尽快
完成实名制验证
,或联系
裁决委员会
以
获取操作权限
。
注:若您是非中国大陆用户,您应当联络电子邮件staff
qiuwen.org以获得帮助。
您尚未完成
电子邮件确认
,因此操作受限,请尽快
完成电子邮件确认
。
若您无法完成前述手续,请参考
帮助文档
,或通过适当渠道请求管理员或裁决委员协助。
您可以查看和复制此页面的源代码。
若您无权编辑本页面,您可以
提出编辑请求
,提请有权限者代为编辑。
[[File:Påsktavla ur Liljegrens Runlära (ur Sverige Runinskrifter).png|缩略图|一个来自[[瑞典]]的表,用来计算1140年至1671年的[[复活节]]日期]] '''复活节的计算'''('''computus''',[[拉丁文]]“计算”之意),其规则是[[复活节]]的日期是在3月21日当日或之后的[[满月]]日后的首个星期日。[[天主教会]]设计了方法去定一个“天主教的月”,而不像[[犹太人]]般观察真正的月亮。 == 历史 == {{main|复活节日期争论}} 基督教在二世纪开始,出现两个纪念耶穌复活的日期:东方的小亚細亚教会,遵循耶穌的使徒的遺传,于是在犹太人的[[逾越节]],即是[[犹太历]][[尼散月]]十四日,纪念耶穌的受难和复活,表明逾越节羔羊預表耶穌([[哥林多前书]]5:7)。至于以罗马教会为代表的西方教会,就在[[逾越节]]后的星期日纪念耶穌的复活。从二世纪后期开始,这项分歧引致教会间很大紛争。后来在325年[[第一次尼西亚会议]],決定不按犹太历法,而按照春分月圆,自行计算出复活节日期(但是所谓“春分”是固定于[[西历]]3月21日)。此后教会为了定出从西历计算月亮周期的方法,不依赖于天文观察,各地先后提出多种方法,历时数个世纪,才定出各地教会共用的计算表册和方法。 == 理论 == 由于犹太历是阴历,基督教会舍弃依从犹太历的传统时,便造出自己的阴历取代。每29或30日合为一个阴历月(如果包含2月29日则有31日),在3月结束的阴历月有30日,在4月结束者有29日,如此长短相间。12个阴历月比阳历年短11日,两者的差距称为閏餘({{lang|en|epact}}),阳历日期加上閏餘得出阴历月的日期。閏餘每年增加11日,达到30日或以上则減去30,设一个30日的閏月。每19年的[[默冬周期]]应刚好等于235个阴历月,閏餘应以19年为一周期,但是19年的閏餘累积为29日,于是在[[儒略历]]中将最后一年7月1日开始的阴历月由本来30日減去1日,又在19年中加入7个各30日的閏月,分别开始于在第2年12月3日,第5年9月2日,第8年3月6日,第10年12月4日,第13年11月2日,第16年8月2日,第19年3月5日。一年在默冬周期中的位置称为[[黄金数]],算式是年份除以19的餘数加1。阴历月第14日定为形式上的望日。望日在3月21日或之后的第一个阴历月是复活节月,复活节是此阴历月第14日之后第一个周日。 == 表列法 == === 格里历 === 由于1582年[[格里历]]改革主要原因,在于当时的复活节计算法已远离真正的春分和满月,在推出新历法时也推行了新的复活节计算法。将全年365日列出,再用递減的罗马数字标记各日,1月1日标记为“*”(0或30),1月2日为“xxix”(29),直到“i”,然后再重复至年末,但每偶数周期只有29日,需将标记为“xxv”的日子也标为“xxiv”。最后每个30日周期中将标记为“xxv”的日子加上标记“25”,每个29日周期中将标为“xxvi”的日子加上标记“25”。然后用“A”至“G”为每日标记,一年第一个周日的字母是这年的[[主日字母]],例如如果1月5日是星期日,这年的主日字母是“E”,但是閏年有两个主日字母,第一个是1至2月,第二个(提前一字母)是3月以后。每个阴历月的朔日是和閏餘相同的罗马数字日子。然而,由于默冬周期中,相隔11年的两个年份閏餘相差1日,如果这两年閏餘分别是24和25,那么这两年的朔日都会一样,显得不太优美,因此黄金数大于11而閏餘是25的年份,朔日改在标记为“25”的日子。格里历每400年減去3个閏年,但是为免影响默冬周期,因此这三年将閏餘減1以修正({{lang|en|solar equation}},equation按古代意思解作修正差异);不过,19个未改正的儒略年比235个朔望月略长,每310年差距累积到一日,故此每2500(格里)年中,须8次将閏餘加1以修正({{lang|en|lunar equation}}),修正在世纪年进行,每两次修正相隔300年,但每8次修正后隔400年再开始,第一次在1800年,下一次在2100年。这两种修正有时互相抵消,如1800年和2100年即是。格里历改革后黄金数方法被閏餘方法取代,但可以编制出两者关系的简化表格,有效期由一至三个世纪不等。以下的閏餘表对1900年至2199年适用。黄金数的算法为年份除以19的餘数再加1,如2014年除以19的餘数为0,故此2014黄金数是1。 :{| class="wikitable" style="text-align:center" !黄金数 |1||2||3||4||5||6||7||8||9||10||11||12||13||14||15||16||17||18||19 |- !閏餘 |29||10||21||2||13||24||5||16||27||8||19||*||11||22||3||14||'''''25'''''||6||17 |} [[File:Easter Distribution.png|右|缩略图|格里历完整的5,700,000年周期复活节日期的分布]] :{| class="wikitable" style="text-align:center" |- !标记||3月||主日字母||4月||主日字母 |- |*||1||D|| || |- |xxix||2||E||1||G |- |xxviii||3||F||2||A |- |xxvii||4||G||3||B |- |xxvi||5||A||rowspan=2|4||rowspan=2|C |- |''25''||rowspan=2|6||rowspan=2|B |- |xxv||rowspan=2|5||rowspan=2|D |- |xxiv||7||C |- |xxiii||8||D||6||E |- |xxii||9||E||7||F |- |xxi||10||F||8||G |- |xx||11||G||9||A |- |xix||12||A||10||B |- |xviii||13||B||11||C |- |xvii||14||C||12||D |- |xvi||15||D||13||E |- |xv||16||E||14||F |- |xiv||17||F||15||G |- |xiii||18||G||16||A |- |xii||19||A||17||B |- |xi||20||B||18||C |- |x||21||C||19||D |- |ix||22||D||20||E |- |viii||23||E||21||F |- |vii||24||F||22||G |- |vi||25||G||23||A |- |v||26||A||24||B |- |iv||27||B||25||C |- |iii||28||C||26||D |- |ii||29||D||27||E |- |i||30||E||28||F |- |*||31||F||29||G |- |xxix|| || ||30||A |} 举例:2019年黄金数是6,閏餘是24,则标记为“xxiv”日子是朔日,3月7日和4月5日为朔日,而望日为朔日的13日后,即3月20日和4月18日。3月21日或之后的望日是4月18日。这一日之后(不包括当日)的周日是复活节。2019年的主日字母是“F”,所以4月21日是复活节。 第偶数个阴历月只有29日,有一日需有两个閏餘标记,而选择移动“xxv/25”的理由可能是:在閏餘为24的年份,如果3月7日开始的阴历月有30日,复活节月便在4月6日开始,望日在4月19日,又假设该日是周日,复活节便在下周日4月26日。但是教会规定复活节不晚于4月25日,所以4月5日便有两个标记“xxv”“xxiv”。因此格里历中复活节最多出现在4月19日,约3.87%,最少出现在3月22日,约0.48%。 === 儒略历 === 格里历改革前西方教会使用的方法,也是东方正教会现今使用的方法,采用未改正的默冬周期,每周期开始閏餘都是0日,因此复活节望日只可能有19个。因为[[儒略历]]不作出像格里历的改正,每过一千年,教会阴历的望日日期会比实际的望日推遲三日多,故此现时约有一半东正教的复活节比西方教会晚了一周。又由于儒略历在1900年至2099年间比格里历落后13日,格里历的复活节望日不时在儒略历3月21日之前,使东正教的复活节比西方教会晚了四至五周。 各地教会从4世纪开始渐渐采用此方法,931年最后一个英格兰修道院也采用。在采用此方法前各地用其他方法定出复活节日期,相差可以达至五周。 下表是自从931年起儒略历的复活节望日日期: :{| class="wikitable" style="text-align:center" |- !黄金数 |1||2||3||4||5||6||7||8||9||10||11||12||13||14||15||16||17||18||19 |- !复活节望日 |4月5日||3月25日||4月13日||4月2日||3月22日||4月10日||3月30日||4月18日||4月7日||3月27日||4月15日||4月4日||3月24日||4月12日||4月1日||3月21日||4月9日||3月29日||4月17日 |} 例子:1573年的黄金数是16,查表得到复活节望日是3月21日。从星期表得到该日是周六,因此复活节是其后的周日3月22日。 == 演算法 == === 高斯演算法 === 这个方法由以数学家[[高斯]]命名。 用Y表示年份,mod运算指整数除法的餘数(例如13 mod 5 = 3,詳細请参见[[同餘]])。 东正教会所用的[[儒略历]]取M=15,N=6,西方教会所用的[[公历]]的取法参见下表: 年份 ''M'' ''N'' 1583-1699 22 2 1700-1799 23 3 1800-1899 23 4 1900-2099 24 5 2100-2199 24 6 2200-2299 25 0 * a = Y mod 19 * b = Y mod 4 * c = Y mod 7 * d = (19a + M) mod 30 * e = (2b + 4c + 6d + N) mod 7 若d+e < 10则复活节在3月(d+e+22)日,反则在4月(d+e-9)日,除了两个特殊情況: * 若公式算出的日期是4月26日,复活节在4月19日; * 若公式算出的日期是4月25日,同时d=28、e=6和a>10,复活节应在4月18日。 === Meeus/Jones/Butcher演算法(公历) === Jean Meeus在他的书《天文演算法》(''Astronomical Algorithms'',1991年)记载了这个计算公历中的复活节日期的方法,并指这个方法是来自Spencer Jones的书《一般天文学》(''General Astronomy'',1922年)和《英国天文学会期刊》(''Journal of the Brithish Astronomical Association'',1977年),后者指方法是来自''Butcher's Ecclesiastical Calendar''(1876年)。 这个方法的优点是不用任何表也沒有例外的情況。注意这里用的是整数除法,7/2=3非3.5。 {| class="wikitable" |----- align="center" | || Worked Example<br />Year(Y) = 1961 | Worked Example<br />Year(Y) = 2000 |----- | a = Y mod 19 || align="right" | 1961 mod 19 = 4 | align="right" | 2000 mod 19 = 5 |----- | b = Y / 100 || align="right" | 1961 / 100 = 19 | align="right" | 2000 / 100 = 20 |----- | c = Y mod 100 || align="right" | 1961 mod 100 = 61 | align="right" | 2000 mod 100 = 0 |----- | d = b / 4 || align="right" | 19 / 4 = 4 | align="right" | 20 / 4 = 5 |----- | e = b mod 4 || align="right" | 19 mod 4 = 3 | align="right" | 20 mod 4 = 0 |----- | f = (b + 8) / 25 || align="right" | (19 + 8) / 25 = 1 | align="right" | (20 + 8) / 25 = 1 |----- | g = (b - f + 1) / 3 | align="right" | (19 - 1 + 1) / 3 = 6 | align="right" | (20 - 1 + 1) / 3 = 6 |----- | h = (19 * a + b - d - g + 15) mod 30 | align="right" | (19 * 4 + 19 - 4 - 6 + 15) mod 30 = 10 | align="right" | (19 * 5 + 20 - 5 - 6 + 15) mod 30 = 29 |----- | i = c / 4 || align="right" | 61 / 4 = 15 | align="right" | 0 / 4 = 0 |----- | k = c mod 4 || align="right" | 61 mod 4 = 1 | align="right" | 0 mod 4 = 0 |----- | l = (32 + 2 * e + 2 * i - h - k) mod 7 | align="right" | (32 + 2 * 3 + 2 * 15 - 10 - 1) mod 7 = 1 | align="right" | (32 + 2 * 0 + 2 * 0 - 29 - 0) mod 7 = 3 |----- | m = (a + 11 * h + 22 * l) / 451 | align="right" | (4 + 11 * 10 + 22 * 1) / 451 = 0 | align="right" | (5 + 11 * 29 + 22 * 3) / 451 = 0 |----- | month = (h + l - 7 * m + 114) / 31 | align="right" | (10 + 1 - 7 * 0 + 114) / 31 = '''4''' (April) | align="right" | (29 + 3 - 7 * 0 + 114) / 31 = '''4''' (April) |----- | day = ((h + l - 7 * m + 114) mod 31) + 1 | align="right" | (10 + 1 - 7 * 0 + 114) mod 31 + 1 = '''2''' | align="right" | (29 + 3 - 7 * 0 + 114) mod 31 + 1 = '''23''' |----- | || align="center" | 1961年4月2日 | align="center" | 2000年4月23日 |} === Meeus演算法(儒略历) === 在《天文演算法》,使用了以下公式计算儒略历中的复活节日期:(注意这里用的是整数除法,7/2=3非3.5。) * a = Y mod 4 * b = Y mod 7 * c = Y mod 19 * d = (19*c + 15) mod 30 * e = (2*a + 4*b - d + 34) mod 7 * 月 = (d+e+114) / 31 * 日 = ((d+e+114) mod 31) + 1 {{天主教会礼仪年}} [[Category:复活节]] [[Category:历法]]
返回
復活節的計算
。