www.fgks.org   »   [go: up one dir, main page]

跳转到内容

復活節的計算:修订间差异

维基百科,自由的百科全书
删除的内容 添加的内容
Vimein留言 | 贡献
沒有必要提到夏曆
Vimein留言 | 贡献
與節氣無關
第1行: 第1行:
[[File:Påsktavla ur Liljegrens Runlära (ur Sverige Runinskrifter).png|thumb|一個來自[[瑞典]]的表,用來計算1140年至1671年的[[復活節]]日期]]
[[File:Påsktavla ur Liljegrens Runlära (ur Sverige Runinskrifter).png|thumb|一個來自[[瑞典]]的表,用來計算1140年至1671年的[[復活節]]日期]]


'''確定復活節日期'''在[[中世紀]]早期稱為'''computus'''(拉丁文中的計算)。其規則是[[復活節]]的日期是在3月21日(通常為[[春分]])當日或之後的[[滿月]]日後的首個星期日。[[天主教]]教会設計了方法去定一個「天主教的月」,而不像[[猶太人]]般觀察真正的月亮。
'''確定復活節日期'''在[[中世紀]]早期稱為'''computus'''(拉丁文中的計算)。其規則是[[復活節]]的日期是在3月21日當日或之後的[[滿月]]日後的首個星期日。[[天主教]]教会設計了方法去定一個「天主教的月」,而不像[[猶太人]]般觀察真正的月亮。


==歷史==
==歷史==

2015年4月5日 (日) 10:51的版本

一個來自瑞典的表,用來計算1140年至1671年的復活節日期

確定復活節日期中世紀早期稱為computus(拉丁文中的計算)。其規則是復活節的日期是在3月21日當日或之後的滿月日後的首個星期日。天主教教会設計了方法去定一個「天主教的月」,而不像猶太人般觀察真正的月亮。

歷史

基督教會在二世紀開始,出現兩個紀念耶穌復活的日期:東方的小亞細亞教會在猶太人的逾越節,以羅馬教會為代表的西方教會在逾越節後的星期日,引致教會間許多紛爭。後來在325年第一次尼西亞會議,決定不按猶太曆法,而按照春分月圓,自行計算出復活節日期。此後經歷數個世紀的演變,才定出各地教會共用的計算表冊和方法。

演算法

5,700,000年間復活節日期的分佈

高斯演算法

這個方法由以數學家高斯命名。

用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。

Worked Example
Year(Y) = 1961
Worked Example
Year(Y) = 2000
a = Y mod 19 1961 mod 19 = 4 2000 mod 19 = 5
b = Y / 100 1961 / 100 = 19 2000 / 100 = 20
c = Y mod 100 1961 mod 100 = 61 2000 mod 100 = 0
d = b / 4 19 / 4 = 4 20 / 4 = 5
e = b mod 4 19 mod 4 = 3 20 mod 4 = 0
f = (b + 8) / 25 (19 + 8) / 25 = 1 (20 + 8) / 25 = 1
g = (b - f + 1) / 3 (19 - 1 + 1) / 3 = 6 (20 - 1 + 1) / 3 = 6
h = (19 * a + b - d - g + 15) mod 30 (19 * 4 + 19 - 4 - 6 + 15) mod 30 = 10 (19 * 5 + 20 - 5 - 6 + 15) mod 30 = 29
i = c / 4 61 / 4 = 15 0 / 4 = 0
k = c mod 4 61 mod 4 = 1 0 mod 4 = 0
L = (32 + 2 * e + 2 * i - h - k) mod 7 (32 + 2 * 3 + 2 * 15 - 10 - 1) mod 7 = 1 (32 + 2 * 0 + 2 * 0 - 29 - 0) mod 7 = 3
m = (a + 11 * h + 22 * L) / 451 (4 + 11 * 10 + 22 * 1) / 451 = 0 (5 + 11 * 29 + 22 * 3) / 451 = 0
month = (h + L - 7 * m + 114) / 31 (10 + 1 - 7 * 0 + 114) / 31 = 4 (April) (29 + 3 - 7 * 0 + 114) / 31 = 4 (April)
day = ((h + L - 7 * m + 114) mod 31) + 1 (10 + 1 - 7 * 0 + 114) mod 31 + 1 = 2 (29 + 3 - 7 * 0 + 114) mod 31 + 1 = 23
1961年4月2日 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