農曆的計算方法
農曆的計算方法
前言
- 農曆是中國農曆,應始用於中國夏朝。
- 商朝時農曆已有相當準確的曆法計算規則,現代的農曆大部分規則亦建基於此。
- 農曆的計算依據比儒略曆複雜。
- 平日我們說它是陰曆 (lunar calendar),其實是一種誤解。
- 正確名稱應該為「陰陽曆」(lunisolar calendar)。
- 考慮地球的公轉周期,亦考慮月亮環繞地球公轉的周期,因此它被稱為「陰陽曆」(lunisolar calendar)。
- 實際上真正的陰曆不多,其中回教曆 (Islamic calendar) 即為陰曆。[1][2]
計算方法相關定義
初一的位置
計算農曆時,我們首先計算每月的初一是在哪一天。眾所周知,初一時月球亮度最小,是新月開始的日子。因此,我們會將新月開始的一天定為初一(月份序號尚未確定)。
- 因為月亮的盈虧周期是 29.5306 日,所以農曆每個月都是 29 或 30 日。
十一月的位置
- 決定月份的序號前,我們應先知道節氣和「歲」的概念。我們將地球公轉軌道分為 24 份,每份為 15 度,代表一個節氣。當地球到達進入某份的軌道時,當天便屬於該份的節氣。二十四個節氣順序為
1.立春 | 2.雨水 | 3.驚蟄 | 4. 春分 | 5. 清明 | 6. 穀雨 |
7.立夏 | 8.小滿 | 9.芒種 | 10.夏至 | 11.小暑 | 12.大暑 |
13.立秋 | 14.處暑 | 15.白露 | 16.秋分 | 17.寒露 | 18.霜降 |
19.立冬 | 20.小雪 | 21.大雪 | 22.冬至 | 23.小寒 | 24.大寒 |
- 中氣:其中第偶數個的節氣(如雨水、春分、……、冬至和大寒)都稱為「中氣」。
歲與年
- 每個「歲」是由十一月開始,翌年十一月前的一個月結束。
- 根據規定,冬至一定要在每個「歲」的首月。因此,我們會將包含冬至的那個月定為十一月。
- 民間對「歲」從何開始有幾種不同的說法,包括以冬至、立春及正月初一等。此處我們採用的定義是根據第一種說法衍生的曆法定義。
- 為甚麼人們以十一月而不是正月為計算基礎,又以冬至為算法的準則呢?首先,對位於北半球的中國來說,冬至是全年影子最長的一天。因此,古人只需利用垂直的竹竿測影便可得知哪天是冬至。
- 古代的冬至定義為指全年白晝最短的一天,當天太陽直射南迴歸線,太陽將位於全年最南的位置,這是令北半球的物體的影子變得最長的原因。現代所用的「冬至」則定義為太陽在天球上緯度最低的一刻,與古代的有點不同。盡管定義不同,現代定義下的冬至的時刻必定在古代定義下的冬至日內。
- 至於以十一月為計算基礎則為古代的傳統。這種曆法安排始於夏朝,幾經改動後在西漢再度採用,並沿用至今。
- 另外,這亦和中國農民生活習慣有關。冬至是農民開始休息的日子。從冬至至立春,人們一般都會與家人準備團年,不會耕作,讓農地休養生息。因此,冬至對農民來說是重要的時間標記。這就是計算曆法的人以冬至作為算法準則的原因。
- 「歲」的重要性亦可從中國古代計算年齡的方法得知。中國古代的人數算年份時,往往會以歲為數算的基礎。例如,人們計算自己的出生年份時,他們會考慮自己是在哪一「歲」出生,而不是哪一「年」出生。
- 夏朝時的農曆建寅月為正月(寅月即冬至起計第三個月),稱為夏曆。
- 商朝時的農曆建丑月為正月(丑月即冬至起計第二個月),稱為殷曆。
- 周朝時的農曆建子月為正月(子月即冬至起計第一個月),稱為周曆。
- 秦朝時的農曆建亥月為正月(亥月則為冬至前的一個月),稱為顓曆。
- 至漢武帝太初元年(公元前 104 年)才再度採用夏曆,並流傳至今。這亦是有時農曆又稱夏曆的原因。
節氣和閏月
其他的月份序號怎樣決定呢?在此之前,我們會先決定閏月。閏月的規則如下:
- 如果某個歲有 13 個月,則該歲為閏歲。
- 如果某歲不是閏歲,月份則按著十一月、十二月、一月、二月、……、十月順序編號。
- 如果某歲是閏歲,我們便要將其中一個月定為閏月。
- 決定閏月的規則和節氣有關:一年有 12 個中氣。因此,13 個月裏必定有最少一個月沒有中氣。閏歲中第一個沒有中氣的月份是該歲的閏月。除了閏月的月份序號和前一個月一樣外,其他月份都按著十一月、十二月、一月、二月、……、十月順序編號。
- 由於 19 年共有 365.2422 ´ 19 = 6936.6018 日,而 19 ´ 12 + 7 = 235 個農曆月則有 235 ´ 29.5306 = 6936.6910 日,兩者僅相差約 0.08 天。故若 19 年置 7 閏,農曆便可以頗準確地描述地球公轉的情況。這便是人們常說「十九年七閏」的原因。這亦解釋了為何農曆和儒略曆的日期對照會每 19 年便「循環」一次。
- 在天文學裏,西方稱這個 19 年的周期為「沙羅周期」(Saros cycle),中國則稱它為「章周期」(Zhang cycle)。