复活节的计算方法 (John)
2013年03月29日 ⁄ 科学技术 ⁄ 评论数 1 ⁄ 被围观 87 views+
https://www.ai-kan.net/?p=87491
不讲不知,如果你手上有一本比较旧版的英文字典,(例如:由牛津大学出版社于 1963 年出版的《现代高级英汉双解辞典》)那么你就可以发现,字典中 “Easter”(即复活节)一条已经清楚地写出了对复活节日期的有关规定,它是这样写的:「复活节,在三月二十一日或该日后月圆以后第一个星期日。」大家有没有发觉,每一年复活节假期的日期都是不固定的,有时候,我们会早在 3 月底就过复活节,有时候又要等到 4 月下旬才是复活节(见表一)。为甚么这个假期会如此飘忽不定的呢?每年复活节的日期又根据些甚么准则来确定呢?
年份 日期
2010 4 月 4 至 7 日
2009 4 月 12 至 15 日
2008 3 月 23 至 26 日
2007 4 月8 至 11 日
2006 4 月 16 至 19 日
表一:每年复活节公众假期的日期
不讲不知,如果你手上有一本比较旧版的英文字典,(例如:由牛津大学出版社于 1963 年出版的《现代高级英汉双解辞典》)那么你就可以发现,字典中 “Easter”(即复活节)一条已经清楚地写出了对复活节日期的有关规定,它是这样写的:「复活节,在三月二十一日或该日后月圆以后第一个星期日。」(英文原句为:“Easter, anniversary of the Resurrection of Christ, observed on the first Sunday after a full moon on or after 21 March.”)(注)原来,复活节那一天,是经由三个历法合并出来的,怪不得它会如此飘忽不定了!
那么,到底是哪三个历法呀?现在就让我为大家逐一介绍:
公历
首先要介绍的,就是我们现时俗称的「公历」。顾名思议,公历是沿自欧洲,是西方人所使用的历法。这历法主要是根据地球环绕太阳公转一周所需的时间而定出来的。一般来说,一年共有 365 日。但由于这个数字和地球公转一周所需的实际时间少了四分之一日,所以每隔 4 年,就会在第 4 年加多 1 日,该年会有 366 日,并称该年为「闰年」。
为了方便纪录每一日的日期,我们亦将一年分成 12 个月。而 3 月 21 日当然就是每年第 3 个月的第 21 天了。可能大家会问:「这个日子有甚么特别呀?复活节的日期为甚么要从这一天起计算呢?」
我们要知道,地球的自转轴和公转轴并不是平行的,而是有一定程度的倾斜(见图一)。正因如此,当地球围绕着太阳公转时,地球面向太阳的角度就会有所不同,从而令到每天白天时间的长度和黑夜时间的长度出现差别。如果我们在北半球生活,那么我们会发觉,大约在每年 4 月至 9 月的期间,白天的时间往往比黑夜的时间长,即是所谓的「日长夜短」现象;而大约由 10 月至翌年的 3 月,则变成「日短夜长」。在这一个变化过程中,自然会有一天日照的时间最长,又会有一天日照时间最短。天文学家称日照时间最长的那一天为「夏至」,这一天通常会出现在每年的 6 月 21 日,而日照时间最短的那一天为「冬至」,大约在每年的 12 月 22 日。
与此同时,在这两个转换之间,亦应该有两天的时间,白天时间的长度会刚好和黑夜时间的长度相等。介乎于「夏至」和「冬至」之间,而日夜两段时间刚好平均的一日,天文学家称之为「秋分」,大约在 9 月 23 日。相反,由「冬至」至翌年「夏至」,日夜刚好平均的一日,天文学就称为「春分」,大约在 3 月 21 日,亦即是上述提到,开始计算复活节日期的那一天。
从天文学家的角度来看,一年的开始不应该是每年的 1 月 1 日,而应该是 3 月 21 日,即春分日。因为从这天开始(对北半球的人来说),白天的时间会一天比一天长,亦象征着冬天正式的结束,夏天的来临,是一个快乐和喜悦的日子
阴历
与西方人不同,我们中国人一直对月亮有浓厚的感情,所以我们的历法主要以月球环绕地球所需的时间为基础。又因为我国号称「以农立国」,所以我们使用的历法,亦称为「农历」(或「阴历」)。我们知道,月球环绕地球一周需时 29.5306 日,故此农历中的一个月,有时会有 29 日,有时又会有 30 日,规律并不明显。不过,我们的历法有一个特色,就是我们会将月圆的日子定为每一个月的第十五天。所以,如果我们想知道在一个月中,哪一晚会有月圆的话,那么祇要在日历中找出农历月份中的 15 日,就可以了,十分简单。回到我们有关确定复活节日期的问题,如果我们想知道春分之后的哪一天会有月圆,那么我们就需要找一本《万年历》来帮手了。《万年历》是一本公历和农历的对照表,可以让我们很容易地找出两个历法中日期的对照。以下是春分日和月圆日的关系:
年份 春分日 春分后的月圆日
1999 3 月 21 日(农历 2 月 4 日) 4 月 1 日(农历 2 月 15 日)
2000 3 月 21 日(农历 2 月 16 日) 4 月 19 日(农历 3 月 15 日)
2001 3 月 21 日(农历 2 月 27 日) 4 月 8 日(农历 3 月 15 日)
2002 3 月 21 日(农历 2 月8 日) 3 月 28 日(农历 2 月 15 日)
2003 3 月 21 日(农历 2 月 19 日) 4 月 16 日(农历 3 月 15 日)
表二:春分后的月圆日
从上表可见,如果春分那天离月圆的日期不远(好象 2002 年),那么我们就会很早过复活节了。如果月圆之后才是春分日(好象 2000 年),那么我们就要等到下一次月圆(即差不多要经过一整个农历月!),才会到达复活节。
我不清楚为甚么教廷对于复活节的日期会有如此的规定,这可能因为月圆同样会令人有一种完美的感觉,所以就这样安排罢。
星期
第三个历法是一个大家都习以为常,不易发觉,但又对我们影响得最深的历法,这就是一星期 7 日的制度。
大家不妨留意一下,我们生活的规律,是不是主要受到这制度所影响?例如:星期一要交功课、星期二看电视片集、星期三课外活动、星期日休息等等。
复活节规定了这个节日必定是在星期日举行的。可能有人会奇怪,我们复活节的假期明明有 4 日,通常都是由星期五开始,直至星期一,为何复活节却祇得星期日一天呢?
原来《圣经》上面记载着,耶稣基督被门徒出卖,继而被带上法庭,并在星期五被人钉死于十字架上。由于犹太人的法律,星期六是安息日,一切活动都要停止,基督的追除者祇好在星期五日落前将基督的遗体草草安葬在一个墓穴内,就匆匆离开。星期日早上,当人们再次去到基督的墓穴时,就发现不见了耶稣的尸首,同时知道耶稣基督已经复活了。自此,基督徒就将纪念基督复活的星期日称为「复活节」,这就是复活节的起源。而同时,复活节之前的星期五,就定为「受难节」。
至于公众假期为何会伸延至星期一,这是因为在香港,逢星期日都是法定的假期,两个假期走在一起,亦将星期一定为假期来补偿。在基督教的节日中,星期一并非一个宗教活动的日子。
好问题来了,我们知道春分后月圆之后的第一个星期日是复活节,但我们如何得知月圆那天是星期几呢?一个最简单的办法,当然又是翻查《万年历》,一般的《万年历》都会同时纪绿某天是星期几的资料。不过,我们亦可以利用一些数学方法,计算出一年中的每一天应该是星期几。
方法很简单,我们先找出一个方便记忆并且同时是星期一的日子。例如:我们知道 2001 年 1 月 1 日是星期一(这个日子的确非常容易记忆!)。然后数一数我们想要计算的日子离上述日期一共有多少天。将这个结果除以 7,如果余数是 1,那么就表示那天是星期一;如果余数是 2,那么那天便是星期二;如此类推。
事实上,因为星期是每 7 天一个循环,而第 1 天又是星期一,那么以后的第 8 天、第 15 天等,都必定会是星期一。留意:将 8 或 15 等除以 7,所得的余数是 1。因此凡余数为 1 时,那天就应该是星期一了。类似地,星期二、星期三等,都可按照相同的道理推算出来。
或者让我举两个实际的例子来试试。例如:2001 年的 4 月 8 日(该年春分后的第一个月圆日),它离 1 月 1 日共 31 + 28 + 31 + 8 = 98 日,将 98 除以 7,刚好整除,没有余数,那么我们就可以知道 4 月 8 日是星期日了。由于 4 月 8 日是星期日,那么复活节就应该定在下一个星期日,即 7 日之后,亦即是 4 月 15 日。(大家可从表一中验证这个结果。)
又例如:2002 年的 3 月 28 日,因为 365 + 31 + 28 + 28 = 452,452 除以 7 得余数 4,所以那一天是星期四,该年的复活节应该在 3 日后,即 3 月 31 日。
上述的方法不单可以用来推算春分后月圆的日子是星期几,它亦可以用来推算 2001 年 1 月 1 日以后任何一天是星期几。不过很明显,如果要推算的日期离 2001 年较远,例如:2022 年的 2 月 2 日,那么我们岂不是需要计算出一个很大的日数,然后才可以知道那天是星期几吗?
其实我们不必这样做,我们祇要利用算术上一个很巧妙的方法,就可以完成这项任务了。方法就是利用加法和求余数可以互调的性质。
先看看 2004 年 1 月 1 日是星期几。2004 年的 1 月 1 日离 2001 年 1 月 1 日共 3 年零 1 日,即 365 + 365 + 365 + 1 = 1096 日。将这个数余以 7,得余数 4。留意如果我们先将 365 除以 7,我们会得到余数是 1,而 1 + 1 + 1 + 1 亦等于 4。换句话说,我们可以将加法和求余数的次序对调,所得的结果都是一样的。不过,对调后的计算量则会比前者少得多了。同时,我们亦发现,由于 365 除以 7 的余数是 1,所以每年 1 月 1 日的星期数,都会比上年加多 1 日。当然,如果某一年是闰年,全年会再多一日,那么到了下一年的 1 月 1 日,星期数就须加 2 了。
回看上面的问题,由 2001 至 2021 年,一共经过了 21 年,当中有 5 个闰年,所以星期数会前移 21 + 5 = 26 日,接着将 26 + 31 + 22 = 79 除以 7,得余数 2,因此得知 2022 年的 2 月 22 日将会是星期二。
再仔细看看上面的计算,我们会发现,按照加法和求余可以互调的原理,我们其实亦可不必将 26 + 31 + 22 加得来,可以先求余然后才加,即得 5 + 3 + 1 = 9,再余以 7,亦可知余数为 2。
应用以上原理,我们可以有一个更有效计算星期数的方法,就是预先计算每个月最后的 1 天比 1 月 1 日移前了多少天。见表三。
日期 离 1 月 1 日天数 除以 7 后的余数
1 月 31 日 31 3
2 月 28(29) 日 31 + 28(29) = 59(60) 3(4)
3 月 31 日 59(60) + 31 = 90(91) 6(0)
4 月 30 日 90(91) + 30 = 120(121) 1(2)
5 月 31 日 120(121) + 31 = 151(152) 4(5)
6 月 30 日 151(152) + 30 = 181(182) 6(0)
7 月 31 日 181(182) + 31 = 212(213) 2(3)
8 月 31 日 212(213) + 31 = 243(244) 5(6)
9 月 30 日 243(244) + 30 = 273(274) 0(1)
10 月 31 日 273(274) + 31 = 304(305) 3(4)
11 月 30 日 304(305) + 30 = 334(335) 5(6)
表三:每月最后 1 日离 1 月 1 日的天数当闰年时,则使用括号中的数字
例如:想知道 2022 年 12 月 17 日是星期几,那么由年份可知星期数移前了 26 日,亦即 5 日,从表三知 11 月尾又再移 5 日,所以最后得 5 + 5 + 17 = 27,除以 7 得余数 6,所以那天是星期六。
以上的计算我其实是使用了一个数学家称「同余」的方法来进行,不过为了避免使用太多数学符号,所以不打算在这里引入那些记号了。「同余」的概念很简单,有兴趣的读者可以找一些有关数论的书籍看看,自行探究。
另外,以上的讨论祇提到 2001 年 1 月 1 日以后星期数的计算方法,如果我们想知道 2001 年 1 月 1 日之前的星期数,方法也差不多,不过,我不打算在这里为大家介绍了,也留给大家自行研究。
总结
回到我们对复活节日期的讨论。由以上的计算可知,如果某年的 3 月 21 日刚好月圆,而且又是星期六,那么复活节就有可能会在 3 月 22 日举行。但如果某年春分之前一天(即 3 月 20 日)月圆,那么春分之后的月圆,就要等 30 日,即要到 4 月 19 日了,又如果那天刚好是星期日,那么该年的复活节就会定于 4 月 26 日,比之前提到的 3 月 22 日,迟了超过一个月的时间!.