曆法知多少

  • 讀歷史學物理
  • 撰文者:文/史丹福(轉載自香港立場新聞)
  • 發文日期:2018-01-05
  • 點閱次數:4580

2018 年,祝大家新年快樂。談起新年,史丹福想跟大家談一些有關曆法的有趣知識。


大家有沒有想過,為什麼 "Oct” 這個字首明明是指 8(octopus 是八爪魚、 octagon 是八邊形、 octave 是八度音),但 October 卻是 10 月?為什麼清明節是中國節日,卻總是在西曆的 4 月 5 日或前後一天?為什麼 7 月與 8 月連續兩個月有 31 天,其他月份卻是長短月相隔?

曆法其實是一門計算週期的學問,是天文學的延伸,它可以說是人類其中一門最早的應用科學。曆法由來已久,一般都相信它的出現最初是為了滿足農業的需要,幫助古人計算適當的播種與收割日子。古人留意到氣候有一個循環,春夏秋冬,周而復始。只要計算到這個循環,他們就可以掌握到與耕種相關的日期。

因為地球環繞太陽公轉,所以從地球上觀察,會發現太陽在不同的日子處於天空上不同的位置,這也是春夏秋冬氣候變化的原因。當太陽完成了一個週期,又再回到原來的位置,共需要約 365.2422 日,學術上稱之為一個「回歸年」 (tropical year) 。除了太陽之外,因為月球環繞地球公轉,所以月球也有它的週期循環。從地球上觀察,由月圓到月缺再到月圓,共需要約 29.5306 日,學術上稱之為一個「朔望月」(lunar month)。考慮太陽週期的曆法叫做「陽曆」,考慮月球週期的曆法叫做「陰曆」,兩者同時考慮的曆法叫做「陰陽曆」。

今天我們所用的西曆其實沿於古羅馬曆法,是一種考慮太陽週期的「陽曆」。最初的古羅馬曆法一年有十個月,  1 、 3 、5 、 8 月有31天,其他六個月都是 30 天,所以一年總共是 304 天,但一個太陽的週期明明共有約 365 日啊!於是那些「無名無份」,多出來的六十多天就成了年末休息日,讓大家可以避開寒假,在春天回暖後再從新開始工作。年末有 60 多天的休息日子,在今天看來是多麼令人羨慕的事情啊!值得留意的是,當年的 7 、 8 、9 、 10 月分別被稱為 September 、 October 、November 及 December。"Septi-" 、 "octo-" 、 "novem-"、"dec-" 在拉丁文中本來分別是 7 、 8 、 9 及 10 的意思,例如大家熟識的十進制系統就叫做 "decimal"。

之後羅馬的領袖努瑪 (Numa Pompilius) 覺得這樣的曆法不準確,全年不應該有六十多天「無名無份」的日子,它為每年的冬天加多了兩個月份,分別有 29 與 28 日。當時開始實行的時候是把這兩個月視為一年最尾的兩個月,但到後來這兩個月演變成年頭,所以September 、 October 、 November 及 December 就順延了兩個月,成為了我們今天所熟悉的 9 、 10 、 11 、 12 月。努瑪的曆法又把所有 30 日的日子改成 29 日,全年共 355 天。這樣做似乎就可以令曆法更貼近月球的週期了,因為一年 355 日即是平均一個月有 29.58 天,這樣就很貼近一個朔望月的 29.5306 天了。

但順得哥情失嫂意,全年 355 日做法貼近月球周期卻遠離了太陽周期,於是羅馬人大約每兩年就為加上一個閏月,由大祭司決定當年需不需要加閏月。如果有閏月的話,就把當年年尾的最後一個月 Februarius (現時的 February )減短至 23 或 24 日。但由於曆法會影響很多政治上的問題,例如不同政府活動的日子,所以政府有時會為了政治需要隨意增刪閏月,令曆法混亂不堪。

這個亂局最後由大名鼎鼎的凱薩 (Gaius Julius Caesa) 撥亂反正,他把單數月定為 31 天,雙數月定為 30 天, Februarius 這個月份是羅馬行刑的日子,羅馬人覺得是不幸運的,所以只有 29 天,全年共 365 天。為了更貼近回歸年的 365.2422 日,凱薩設置每 3 個平年之後就設一個閏年的做法。其中平年是指不是閏年的年份,閏年則是在 Februarius 中加多一天,令一年有 366 日。這樣一年平均就有 365.25 日,非常接近一個回歸年。這個新曆法被稱為儒略曆 (Julian Calender) 。後來為了紀念凱薩這個偉大的改曆政策,元老院一致通過將凱薩出生的七月命名為 Julius (現時的 July )。

凱薩大帝的曆法原本非常準確,但在他被行刺後,曆法的執行卻出現了一個令人哭笑不得的誤會。原本是「每 3 個平年之後就設一個閏年」,實際執行時卻被人錯誤地當成「每 3 年就設一個閏年」。即原本是 4 年一閏,卻被當成3年一閏。凱薩的繼任人屋大維 (Gaius Octavius Thurinus) 發現並改正了這個問題。屋大維有很多偉大的功積,他之後被元老院獲賜封為「奧古斯都」 (Augustus) ,而他獲賜封的月份就被改名為 Augustus (現時的 August)。以凱薩命名的 Julius 是有 31 日的大月,以奧古斯都命名的 Augustus 當然不應只有30日,於是 Augustus 被加多了一日,而被犧牲的又是「不吉利」的 Februarius 。這就是現時七月、八月連續兩個月有 31 天,但二月卻只有 28 天的原因。

在奧古斯都大帝之後,羅馬人所用的曆法已經非常接近現時我們採用的西曆。但儒略曆一年平均有 365.25 ,與回歸年的 365.2422 日仍有些微的差距,「小數怕長計」,假以時日,這個曆法還是會慢慢偏離了原本的太陽周期。到了 16 世紀時,真正的春分比日曆上的春分足足早了 10 天。 1582 年,羅馬教會的教宗格里高利十三世 (Pope Gregory XIII) 採用了新曆法,規定所有能被 100 整除的年份,如果不能被 400 整除,就不是閏年。所以 1700 年、 1800 年、 1900 年都不是閏年,但 1600 年、 2000 年就是閏年。他同時宣布 1582 年 10月 4 日之後的下一天是 1582 年 10 月 15 日,變相刪除了 10 天,以一次過修正過去千多年累積出來的 10 天誤差。這個曆法被稱為「格里曆」,並一直沿用至今。

至於中國人使用的農曆,歷史悠久,差不多由春秋時期開始已經成形。它很「貪心」地同時考慮了月球與太陽的周期,是陰陽曆的一種。農曆的一年有 12 個月,大月 30 日,小月 29 日,平均每個月 29.5 日,非常接近一個朔望月。因此基本上我們只需觀察月相就已經大致上可以知道農歷的日子,例如初一一定是月缺,十五就一定是月圓。

但另一方面,中國古人也觀察到太陽有一個約 365 日的週期。太陽的週期影響氣候,所以對農業的影響遠遠大於月球的週期。於是農曆曆法又包含了二十四個節氣,每一個分別相應於太陽在黃道上每運動 15 度的位置。由於節氣是依據太陽在黃道上的位置所訂立的,與遵從太陽週期的西方曆法自然是相對應的,所以清明節每年也在西曆 4 月 5 日或前後一天。

但為了同時遷就太陽與月亮的週期,農曆曆法就引入了相對複雜的置閏系統。二十四節氣被分類為 12 個節氣和 12 個中氣,一一相間。一般來說,一年有 12 個月,所以理論上每個月都有一個中氣。但由於農曆一年比回歸年短了近十天,每積累約三十個月左右,就會出現一個沒有中氣的月份。這個沒有中氣的月份被定為閏月。

用「無中氣置閏」的方法,農曆就會有一個「十九年七閏」的規律,即 19 年中有 7 個閏月。我們試試計算一下: 19 年農曆共有 19 × 12 + 7 = 235 個朔望月,即 235 × 29.5306 = 6940 日, 19 個回歸年有 365.2422 × 19 = 6940 日,所以兩者就相當脗合了。

資料來源:
Rüpke J, Richardson DM (2011). The Roman calendar from Numa to Constantine time, history and the Fasti. Chichester, West Sussex (GB): Wiley-Blackwell.
香港天文台 (http://www.hko.gov.hk/
Wikipedia (https://www.wikipedia.org/
轉載自立場新聞:https://thestandnews.com/culture/曆法知多少/
原文刊於作者博客:http://drstanford.blogspot.hk/2018/01/blog-post.html
作者 Facebook 專頁:https://www.facebook.com/史丹福狂想曲-183824495473168/