公元前552年8月20日日食天象圖
公元前552年8月20日日食天象圖
孔子的生年,歷來就有問題。唐代司馬貞【史記索隱】在【史記·孔子世家】記載孔子逝世處就感嘆說:『【經】【傳】生年不定,致使孔子壽數不明。』可見這一問題由來已久。本世紀已經出現了幾種不同的孔子誕辰,各持一端,在年、月、日上皆有異說,使得各處的紀念活動無法一致。其實只要引入天文學方法,就可以明確解決這一重要的歷史年代學問題。
比較流行的孔子生年,是依據【史記·孔子世家】中『魯襄公二十二年而孔子生』得出,魯襄公二十二年即公元前551年。但此說有兩個問題:
一是與【史記·孔子世家】下文敘述孔子卒年時,說『孔子年七十三,以魯哀公十六年四月己丑卒』不合。因為魯哀公十六年即公元前479年,551—479=72歲。這只能用『虛歲』之類的說法勉強解釋過去。
二是沒有孔子出生的月、日記載。這就是說,僅僅依靠【史記·孔子世家】,無法為今天的孔子紀念活動提供任何具體日期。
另一種說法的文獻依據是【春秋公羊傳】和【春秋穀梁傳】。先看原始文獻:
【春秋公羊傳】:『襄公二十有一年,……九月庚戌朔,日有食之。冬十月庚辰朔,日有食之。……十有一月,庚子,孔子生。』
【春秋穀梁傳】:『襄公二十有一年,……九月庚戌朔,日有食之。冬十月庚辰朔,日有食之。……庚子,孔子生。』
這裏兩者都明確記載孔子出生於魯襄公二十一年,即公元前552年;又都明確記載了孔子出生日的紀日干支——庚子。所不同者,一為十一月,一為十月。
我們可以先從文獻本身的自洽程度,來判斷【春秋公羊傳】和【春秋穀梁傳】兩者的記載中誰更可信。從紀日干支的簡單排算就可知:九月庚戌朔,接着十月庚辰朔,接下去二十天後是庚子,則此庚子只能出現在十月,整個十一月中根本沒有『庚子』的干支。可見【春秋公羊傳】的記載自相矛盾。因此,顯然應以【春秋穀梁傳】的記載作為出發點——即孔子出生於魯襄公二十一年,按照【春秋】所用曆法的十月庚子這一天。
接下來要確定『十月庚子』這一天是公曆的幾月幾日。這沒有象確定魯襄公二十一年是公曆哪一年那麼簡單。首先,這裏牽涉到春秋時代的曆法,其中月份是怎麼安排的——簡單地說,就是那時曆法中的正月相當於現今夏曆的幾月,而這一點目前尚無定論先前某些孔子誕辰有誤即與此有關。為了繞開這一尚無定論的問題,而將結論唯一確定下來,我們就不得不求助於天文學。
非常幸運的是,【春秋公羊傳】和【春秋穀梁傳】在孔子出生這一年中都記載了日食,這是我們解決問題的天文學依據。日食是非常罕見的天象,同時又是可以精確回推計算的天象。【春秋】242年中,共記錄日食37次,用現代天體力學方法回推驗證,其中大部分皆真實無誤。經推算,公元前552年,即魯襄公二十一年這年中,在曲阜確實可以見到一次食分達到0.77的大食分日偏食,而且出現此次日食的這一天,紀日干支恰為庚戌,這就與『九月庚戌朔,日有食之』的記載完全吻合。而在次年,即魯襄公二十二年,沒有任何日食。
為了確定這次庚戌日食的日期,我們採用不考慮月份的記時坐標,即天文學上常用的『儒略日』,這是一種以『日』為單位,單向積累的記時系統——中國古代連續不斷的紀日干支系統實際上與『儒略日』異曲同工。公元前552年發生曲阜可見日食的那個庚戌日,對應的儒略日為1520037。而儒略日與公曆的對應是早已明確解決了的,與1520037對應的是公元前552年8月20日。
至此我們已經獲得了一個確切無疑的、同時又與春秋曆法無關的立足點:即公元前552年8月20日,對應於魯襄公二十一年九月庚戌朔日。接下去的工作就只需根據干支順序作簡單排算即可,結果可以用表格表示如下:
孔子誕辰相關天象記載的干支順序排算表格
所以結論是:
孔子於公元前552年10月9日誕生,公元前479年3月9日逝世。
注意這個結果方才與【史記】中『孔子年七十三』的記載確切吻合。
先前有不少論者,在孔子誕辰問題上,定年依據【史記】說,定月日卻又依據【穀梁傳】說,而此兩說在生年上明明是相互矛盾的。不先辨別哪一種史料更可信,以決定取捨,卻在兩種相互矛盾的記載中『各取所需』,從邏輯上是說不通的。這樣做無法保證立論的自洽。
根據上述結論,郵電部在1989年發行『孔子誕辰2540周年』紀念郵票,在年份上並無差錯,因為1989+(552-1)=2540年沒有公元0年,故減1,只是日期上稍有出入而已。同樣道理,今年1999年就是孔子誕辰2550周年,具體紀念活動的日期,則應確定為10月9日。
載【歷史月刊】1999年第8期 |