標籤:

談談曆法

——  學者薈  ——

【學者薈讀書小組招募小夥伴】

有興趣的請在公號留言或添加下方微信號詳詢

xzh20161128


陳厚尊

飛碟探索雜誌(fdtszz)

如今說起曆法,許多年輕人首先想到的就是無處不在的日曆表。每當我們解鎖口袋裡的手機,或者掀開桌面上的筆記本電腦,或者打開家裡的電視機,甚至是觀看公共場所的LED顯示屏時,日曆都會隨時出現在我們的眼前,不厭其煩地提醒著我們今天是公元哪年哪月哪日。想不看都不行。這種無處不在的電子日曆甚至使我們漸漸淡忘了我們的先輩是如何記錄時光流轉的。你們肯定還記得自己的爺爺奶奶通過收看《新聞聯播》來了解時間的日子。可即便是中央電視台也不過是1 9 5 8年才開播的,在此之前中國人不怎麼看電視,只能通過收聽收音機在整點時刻報時的方式來校準表的指針。然而,就算是人類廣播報時的歷史也不超過1 0 0年。在那之前呢?那時候,有的人家裡用的是新表,上滿弦自然走得快些,有的人家裡擺的是舊錶,或者忘記了按時上弦,自然走得慢些。因此不難想像,那個時候各家各戶的時間都不太一樣,中間差個七八分鐘算是正常。至於要了解今夕何夕的問題,過去的人往往會採用一種簡單而粗暴的辦法:在每年年初的時候買一本厚厚的「皇曆」,過一天撕一頁。看著牆上的「皇曆」由厚變薄,直到最後一頁也被撕掉的時候,除夕夜就到了。就是在今天,許多老人的家裡還是會掛一本老皇曆,保持著過一天撕一頁的舊習慣。

實際上曆法是農業時代的產物,農業生產須遵循一定的物候規律,而掌控物候規律的則是太陽、地球和月亮的運行法則。因此,曆法的制定從一開始就與天文學息息相關。只是到了信息時代,許多曆法中的重要概念慢慢與人們的日常生活脫節,以至於變得少有人問津。舉例來說,相較於今天是幾月幾日,我們似乎更關心今天是星期幾,因為這牽扯到今天是不是開會,明天要不要交報表,還有幾天才是周末等一系列問題。至於今天是農曆中的什麼節氣這類問題,更是沒什麼人關心了。

西周早期的利簋( 音同「鬼」),又名武王征商簋。是迄今能確認的最早的西周青銅器。「利」是個人名,他隨周武王征戰,勝利後受到獎賞,鑄造這件銅器以記功並用來祭祀祖先。


利簋的銘文拓片,從右往左共4列3 3 個字。該銘文的解讀學界尚有爭議,主流的解讀是:「武王征商,唯甲子朝,歲鼎,克昏夙有商。辛未,王在闌師,賜有事利金,用作檀公寶尊彝。」其中前半句是關鍵。說的是周武王伐紂的關鍵戰役—— 牧野之戰發生於一個甲子日的清晨,當時可見歲星過中天(即木星過南方最高點)的天象。雙方激戰一日,至傍晚時周軍佔領了商都朝歌。


其實在中國古代,也有類似於今天是星期幾的循環曆法,只是中國人採用的循環天數不是7天,而是6 0天。此即干支紀日法。中國人喜歡將1 0個天干——甲乙丙丁午己庚辛壬癸,與1 2個地支——子丑寅卯辰巳午未申酉戌亥,依次相配,組合成6 0個基本單位,首尾相連,不斷循環著來記錄日子。這種循環曆法雖然簡單粗暴,卻十分有效。有證據表明,至少自殷商以來,中國人就在使用干支紀日法,且一直延續至今,中間沒有一日間斷。這意味著你可以依據古文獻中記載的某件大事的干支日,再結合其他年代信息,來推定發生那件事的日子與今天相距的天數。這是一種非常神奇的年代推斷法,它不需要考慮某個朝代推行的曆法具體是怎樣的。因為通常來講,受限於古代天文觀測的精度和統治者的需要,不同朝代的曆法不盡相同,尤其是殷商、春秋和戰國時代,每個諸侯國的曆法都不統一。夏商周斷代工程中最關鍵的「武王伐紂」事件的日期推定,就利用了干支紀日法的上述特徵。最後的結論是公元前1 0 4 4年1月9日,周武王在商郊牧野大敗商紂王帝辛,開創了周朝8 0 0年基業。有了這個結論,中國歷史的確切年代上限就能從《史記》記載的公元前8 4 1年的「國人暴動」事件再上推4 5 0年。

當然,干支紀日法對中國人來說從來都不是主流曆法,因為它與農業生產和天時物候都沒有直接的聯繫,不方便日常生活生產。在今天,中國的傳統曆法常常被稱為陰曆或者農曆。不過,前一個名字根本就是個錯誤,後一個名字則帶有濃濃的鄉土氣息,使許多人誤以為它只與農業生產有關。實際上,只有那些單純考慮朔望月周期的曆法才是嚴格意義上的陰曆。最典型的陰曆就是盛行於伊斯蘭國家的回曆。在回曆中,一年被簡單地定義為1 2個朔望月,每個朔望月所包含的日數從2 9日至3 0日不等。如此一來,回曆的一年只有3 5 4日或3 5 5日。只需不到2 0年的時間,回曆的開齋節就可以從隆冬時節「漂移」至盛夏。而中國傳統曆法中的歲首,也就是春節,只會出現在公曆的1月或2月。何以如此?這便要歸功於中國傳統曆法對回歸年和朔望月的調和機制。

塔吉克的一個伊斯蘭家庭在過開齋節。回曆並不重視歲首的概念,而是強調一個名叫開齋節的盛大節日。回曆的第九個月名叫齋月,伊斯蘭教信徒要在這個月的白天斷絕一切飲食,虔心地沐浴禱告。齋月結束後會舉行盛大的開齋節,人們走親訪友,互致祝福。從公曆來看,開齋節的日期是不斷循環的,每3 年提前1 月,人的一生中至少可體驗兩個輪迴。在春夏秋冬不同月份體會封齋的感受,是開齋節的妙處所在。


其實,中國的農曆是一種非常先進的陰陽曆。所謂陰陽曆,就是一種能夠同時調和回歸年和朔望月的先進曆法。在這裡,讀者可以將回歸年簡單地理解為地球圍繞太陽運行的周期。更精確地講,它指的是太陽中心在黃道上連續兩次通過春分點的時間間隔。由於歲差的存在,春分點本身相對於背景恆星還有一個緩慢的退行,因此,回歸年比地球真正圍繞太陽一周所經歷的恆星年略短(二者相差約2 0分2 4秒)。至於朔望月,顧名思義它指的是月亮的月相從一個新月(或曰朔)到下一個新月的時間間隔。現代天文學觀測表明,一個回歸年的平均長度約等於3 6 5.2 4 2 2日,一個朔望月的長度約等於2 9.5 3 0 6日,二者都是非常零碎的小數。而年、月、日的數目只能是整數。如何用這三組整數所構成的有理數去逼近以上兩個無理數,就成了曆法制定者所要面臨的首要問題。事實上,根據日本天文學家新城新藏的考證,至少在春秋晚期的時候,中國就已經摸索出了一套成熟而巧妙的陰陽曆調和方案,即通過「置閏月」的辦法來阻止歲首在陽曆中的逐年「漂移」。

試用回歸年的日數除以朔望月的日數,便可算得一個回歸年中包含的朔望月數目,約為1 2.3 6 8 2 6個月,除了整數部分的1 2個月以外還余有一個小數部分,回曆開齋節的「漂移」正源於此。中國人發現這個小數接近7/1 9,其數值約為0.3 6 8 4 2,二者的前三位有效數字是相同的。這意味著只需每1 9年置7個閏月就能使回歸年和朔望月精確地調和在一起。在西方,古希臘天文學家默冬於公元前4 3 2年首次發現這種置閏法,並在當年的奧林匹克運動會上公之於眾,因而這種置閏法也被稱為「默冬章」。

接下來的問題就是如何在1 9年的周期里安排這7個閏月。東西方的古文明在這一點上分道揚鑣。最早的美索不達米亞文明採用巴比倫歷,國王會根據情況隨機宣布置閏月,因而置閏情況混亂。猶太人使用的猶太歷置閏方法相對簡單,他們將春分日視為太陽年節點,規定春分日所在的朔望月為每年的第一個月,若不滿足上述情況,就在上年的歲末安插一個閏月。中國的置閏方法稍微複雜一些,其中雜糅了中國獨特的二十四節氣系統,相對來講是一種比較科學的置閏法。

中國自古便是一個農業大國,每年的農業生產都是統治者最關注的國之大事。前面說過,農業生產須遵循一定的天時物候,而天時物候是依據四時來的。太陽在天空中的高度,或者說太陽在黃道上的位置,直接影響了地球高空大氣的環流走向,因而也就間接決定了四時的變化。中國古代的勞動人民從自然界的千變萬化中精心挑選了2 4個最具代表性的物候事件,編成二十四節氣,並將其同陰陽曆法相結合指導農業生產。這一點十分鮮明地體現在中國最早的一本農事曆書《夏小正》里。據考證,《夏小正》成書於殷末周初,也有春秋戰國一說,撰者無考。書中還保留著將一年分為十個月的上古曆法。《夏小正》主要記載了每個月獨有的物候、氣象、星象和有關的重大政事。這是中國人最早的觀象授時知識的結集,也是如今二十四節氣系統的前身。到了秦漢時期,二十四節氣系統已完全確立。為了方便記憶,中國民間曾創作了數不清的、風格各異的節氣歌。筆者小時候從爺爺那裡學到了如下版本的七言節氣歌,特錄於此與讀者分享:

  春雨驚春清谷天,夏滿芒夏暑相連。

  秋處露秋寒霜降,冬雪雪冬小大寒。

歷史上,二十四節氣曾有過兩種不同的劃分方法。一種是通過將黃道二十四等分的辦法來決定各節氣的精確位置。其中,春分節氣定在黃道與天赤道相交的升交點——春分點——上;秋分節氣定在黃道與天赤道相交的降交點——秋分點——上。如此得到的二十四節氣系統稱為定氣。這也是今天普遍採用的節氣劃分法。而中國古代普遍採用的節氣劃分法叫作平氣,也就是先通過測定正午圭表的影長,來確定哪一天是冬至日(影長最長的那天為冬至日)。之後以冬至點為基點,將一個回歸年等分為二十四段,每段1 5.2 1 8 4日,定為一個節氣。相鄰兩個節氣包含的天數為3 0.4 3 6 8日,一個節氣一個中氣,加起來比一個朔望月長了0.9 0 6 2日。如此一來,節氣和中氣就會在相應的農曆月份中緩慢「漂移」,直至出現某個月沒有中氣的情況。何以會如此呢?這往往是由於這個節氣恰好「漂移」到了相應朔望月的中間,它的前一個中氣出現在了前一個朔望月的最末一天,後一個中氣出現在了後一個朔望月的第一天。中國的農曆規定,像這樣缺乏中氣的月份就要被置閏,置閏的月份趕到哪個月就閏哪個月。在這種置閏規則下,二十四節氣就相當於陽曆回歸年的一套標尺系統,實時檢驗著農曆朔望月相對於回歸年的偏移情況,一旦達到某個限度便立即置閏。從2 0 1 6年的今天算起,下一輪農曆閏月發生於2 0 1 7年7月2 3日的閏六月,因為那一輪的朔望月周期里只有一個立秋節氣而沒有中氣。上一輪農曆閏月發生於2 0 1 4年1 0月2 4日的閏九月,因為那一輪的朔望月周期里只有一個立冬節氣而沒有中氣。包含了閏月年份的次年,過春節都會比較晚,比如2 0 1 5年的春節和2 0 1 8年的春節。這與我們的日常經驗是吻合的。對此,讀者可以通過翻看手機里的日曆軟體來熟悉農曆的這一置閏規則。

如前所述,如今我們採用的二十四節氣系統是定氣。考慮到太陽在黃道上運動的不均勻性,陽曆1月的時候地球過近日點,繞日運動速度較快,相應地,太陽在黃道上的速度也快。反之, 在陽曆7月的時候, 太陽在黃道上的運動速度較慢。這種效應導致農曆中十二個月份被置閏的可能性大不相同。一般來說,農曆三月、四月、五月、六月和七月被置閏的可能性最大,二月和八月次之,其他月份被置閏的可能性均為百年一遇。臘月被置閏的頻率最低,為千年一遇。2 0 1 4年的閏九月曾被網路媒體大肆炒作,原因即在於此。順便提一句,中國農曆中十九年七閏的規則還有一個小小的應用,那就是判定一個人的公曆生日與農曆生日何時重合的問題。由於回歸年和朔望月的日期組合每1 9年輪迴一次,據此不難算出,只要一個人的公曆生日不是2月2 9日,同時他的農曆生日不在某個閏月內,那麼只有當他的年齡是1 9的倍數(即1 9歲、3 8歲、5 7歲、7 6歲、9 5歲等)時,他的公曆生日跟農曆生日才會重合。若他的公曆生日恰巧趕上了閏年的2月2 9日,那幾乎可以肯定,出現上述重合的日子只能是在他7 6歲高齡的時候(也有少數例外情況。為什麼?讀者不妨思考一下)。若他的農曆生日恰巧落在了某個閏月中,那情況就變得複雜了。據此得出的循環周期很可能遠遠超出人類的正常壽命。

愷撒大帝像。蓋烏斯· 尤里烏斯·愷撒(G a i u s J u l i u s C a e s a r,公元前1 0 2 年—公元前4 4 年),羅馬共和國末期傑出的軍事統帥、政治家。由他公布的儒略曆是現行公曆的前身。由於當時的僧侶曾將「隔三年一閏」錯誤地理解為「每三年一閏」,致使儒略曆頒布後的3 6 年間多出了3 個閏年。為彌補誤差,羅馬的繼任統治者屋大維取消了公元前5 年、公元前1 年和公元4 年三個閏年。另一方面,屋大維又參照以愷撒之名命名7 月的例子,用奧古斯都的名字命名了8 月,同時從2 月里抽出一天,將8 月升級為大月。這一舉動直接導致了後來各月份日數的混亂。


說完了農曆,我們順帶說一說現行的公曆。公曆又稱格里高利曆,是一種最初盛行於西方國家的太陽曆,或者簡稱陽曆。1 9 4 9年新中國成立以後,公曆正式成為中國的官方紀年法。與前述的陰曆正好相反,陽曆只在曆法中考慮回歸年與地球自轉的比例關係,其中的月份概念只是象徵性地存在,而與實際的月相完全脫節。由於某些歷史遺留問題,現行公曆中不同月份的日數安排極為混亂。為了記憶它們,我們從小就需要背誦「一三五七八十臘,三十一天永不差」這樣的荒唐口訣。不熟悉曆法的讀者很容易將儒略曆與格里高利曆混為一談。儒略曆最早由羅馬共和國的統治者——尤里烏斯·愷撒於公元前4 5年正式頒布施行。最初,儒略曆將一個回歸年劃分為1 2個月,單數月為大月,有3 1天;雙數月為小月,有3 0天。其中2月是個例外。儒略曆規定平年2月是2 9天,閏年3 0天,置閏方法為四年一閏。如此一來,儒略曆的一個回歸年就包含了3 6 5.2 5日,比準確值多出1 1分鐘,4 0 0年里要多出3日還多。等到1 5 8 2年教皇格里高利十三世的時候,儒略曆中的春分日比實際的天文觀測整整滯後了1 0天。為了彌補儒略曆與天文觀測的錯位,教皇格里高利十三世規定:當年1 0月4日之後直接跳到1 0月1 5日,而星期序號仍然連貫。為了防止類似的誤差繼續積累,又附加了一條置閏規則,即當年份為整數世紀的時候需整除4 0 0方為閏年。例如公元2 0 0 0年是閏年,而公元1 9 0 0年就不再是閏年。此即現行的公曆版本。如此一來,公曆的置閏法從簡單的四年一閏改進為四百年九十七閏,二者相除所得的小數為0.2 4 2 5,與回歸年的小數部分有三位有效數字相同。現行公曆需要3 0 0 0多年才會有一日的誤差出現,已經達到了比較高的精度。不過,這滯後的一日終究還是會到來,屆時將如何調整,就留待後人思考了。

【版權歸作者所有,王豆腐編輯】


推薦閱讀:

我們當前處於元會運世的什麼階段
藏曆節氣的劃分
十二星座日期是按陽曆(公曆)還是陰曆(農曆)來劃分的?
伏羲曆法中,對一年八分點更完善的八卦排序

TAG:曆法 |