內容摘要
本文是對舊作【孔子生卒年月日考辨】一文的補充與修正。自古以來對孔子生卒年月日的考證眾說紛紜、莫衷一是的原因是由於春秋時魯國曆法閏余乖次,有失規範,致使用歷史學角度考證與用天文學角度考證會得出不同的結論。本文對不同經典的不同記載作了深入剖析,找出了差異的原因所在及各說的合理性。最後建議民間祭孔的日期可依夏曆,孔子的生日可定爲八月二十一日,卒日可定爲二月十一日,國家或國際紀念日可用西曆,孔子的生日可定爲公元前552年10月9日,卒日可定爲公元前479年3月9日。
關鍵詞:孔子生日 孔子卒日 春秋曆法 春秋置閏
關於孔子生卒年月日最原始、最權威的記載見以下幾種:
【春秋穀梁傳】:魯襄公二十有一年,冬,十月,庚辰朔。庚子,孔子生。
【春秋公羊傳】:魯襄公二十有一年,冬,十有一月,庚子,孔子生。
【春秋左氏傳】:魯哀公十六年,夏,四月己丑,孔丘卒。
【史記·孔子世家】:魯襄公二十二年而孔子生。孔子年七十三,以魯哀公十六年四月己丑卒。
綜合以上材料,可以確定的是孔子生於庚子日,卒於魯哀公十六年四月己丑日,在世七十三春秋。
關於孔子生年,【穀梁傳】與【公羊傳】的記載一致:孔子生於魯襄公二十一年。【史記】所載晚一年,爲魯襄公二十二年。
【公羊傳】傳自子夏,經代代口傳到漢景帝時著於竹帛,成書年代早於【史記】,而且【史記】還曾引用過【公羊傳】的內容。【穀梁傳】亦傳自子夏,穀梁子得傳後作【傳】親授荀卿,傳到漢宣帝時大行於世。因此,二【傳】成書皆早於【史記】,因其爲孔門弟子所親傳,又近孔子,二【傳】所載的生年又一致,而且漢代各大儒對此均無異議,因此,孔子生於魯襄公二十一年應是關於孔子生年最原始、最確切的記錄,不應輕易置疑或否定。
【史記】作襄公二十二年,但不記出生月日,這跟【史記】記孔子卒日年月日俱全的體例不合。考其原因,宋代趙去疾的推論也許不無道理:『今考【春秋長曆】,周靈王二十年己酉歲八月置閏,以曆法積之,則大雪節當在十月十七日或十八日,是爲十一月朔氣。又三四日方爲庚子日,是先聖之生已在建子之十一月節氣矣。既入十一月節氣,則是襄公二十二年庚戌歲首無疑。【公羊傳】之書十一月若誤也,而實不誤也。【史記】以爲襄公二十二年,而又以孔子爲年七十有三,亦未嘗誤也。穀梁氏於年於月皆據實書,公羊氏於年據實書而月以節書,謂有日可表也。司馬氏之筆則於年即以節書,三者皆非誤矣。』
當然,趙去疾這一推斷是建立在【春秋】經傳皆用夏正記載這一推論基礎上的,司馬遷在這一點上是否認同他是很難說的王笑冬先生則猜測司馬遷是按【顓頊曆】來推孔子的生年,不過趙去疾能於三書記載之異中見同,應該說是獨具隻眼的,這對我們今天考證孔子生卒年月日是頗有啟發作用的。千古以來關於孔子生卒年月日的考證之所以眾說紛紜,莫衷一是,可能跟考證者的思維方式直接有關。我們已習慣於常見的那種非此即彼、求取唯一正確答案的思維模式了。我們如果換一種思維來論證,可能會給孔子生卒年月日的確定劃上一個圓滿的句號。
按趙去疾的推論,【穀梁傳】是按魯國當時實際使用的曆法記載孔子生日的,他推論的依據是晉杜預的【春秋長曆》裡記載襄公二十一年己酉歲是閏八月的。這個閏八月不知是杜預用漢【太初曆】逆推的結果漢【太初曆】始有無中氣置閏這一規定,還是從古史料記載中獲得,我們只可作參考。但可以肯定的是,這一年必須置閏,問題是置閏於何月會影響對孔子生日的判斷。筆者寫於2017年12月的【孔子生卒年月日考辨】一文已收進拙編【萬世師表:孔子生平事跡】一書的附錄中,採用的是張培瑜先生於1990年出版的【三千五百年曆日天象】的春秋朔閏表中的說法,即是年閏在歲終十二月。如是這樣的話,趙去疾就不能說十月庚子已是十一月節氣,也不能說【公羊傳】所記無誤了。因爲唐陸德明已發現,【公羊傳】有的傳本並無『十有一月庚子』,況且,十月有庚子日,十一月不可能有。
筆者近日在國家圖書館古籍館查到康熙年間精於天文曆法的陳厚耀著的【春秋長曆集證】,裡面明確提到,襄公二十一年,『【大衍曆】是年閏二月,古曆亦同,杜歷閏八月』。杜預【長曆】原書已佚,先儒嘗加輯錄而成,陳氏則增補成【春秋長曆】十卷。杜預推算是年閏八月,陳氏據【大衍曆】及古曆推爲閏二月。即使是閏二月,十月仍在十一月節氣,則趙去疾的推論仍然成立。
但有一種流行的觀點,認爲春秋時置閏一般在歲末,而不在歲中。其根據可見【左傳·文公元年】的一段話:『於是閏三月,非禮也。先王之正時也,履端於始,舉正於中,歸餘於終。履端於始,序則不愆。舉正於中,民則不惑。歸餘於終,事則不悖。』這段話至少說明兩個問題:一是按周曆的正時,歲首起始於冬至,二分二至常居於子午卯酉四正之月,閏月都置於年末。二是魯文公元年卻在三月置閏,這是違背先王的正時的,所以【左傳】非之,認爲無禮。也就是說按曆法的正時規定,閏月必須置於年末,但從現實來看,卻不見得如此。清代精於春秋曆法的王韜在【春秋朔閏至日考】一書中曾說:『說【春秋】者謂閏月常在歲終,而昭二十年【傳】閏月戊辰殺宣姜乃是閏八月,似春秋之季歷家漸改其法,閏不必在歲終,如昭二十二年劉子、單子以王猛居於皇,【經】在六月而【傳】在七月,以後皆差一月,似魯曆閏六月也。然則閏月不必定在歲終亦可明矣。余嘗以【春秋】經傳日月互相推校,而知隨時可以置閏也。』既然【傳】有閏三月、閏八月的記載,而且從【經】【傳】記載相差一月的情況來推斷也有閏其他月的可能,則魯襄公二十一年十月前有閏月當是合理而有根據的推斷。
【春秋】經傳在記載同一事件時不少地方會有相差一個月的情況,究竟是什麼原因造成的呢?大致有兩種不同的看法,一種是以王韜爲代表,認爲是由於置閏不同造成的,如哀公十五年衛世子蒯聵自戚入於衛,【傳】在此年末之閏月,而【經】卻書十六年正月己卯,王韜解釋說:『哀十六年春正月當補入己卯,尊表於十五年歲終不置閏月,甚允。蓋【傳】十五年之閏月即經十六年之正月也,故先儒以爲衛歷有閏,魯曆無閏,左氏所據者衛歷也,經文所從者魯曆也。左氏多得他國典籍,每雜用他國曆,書衛事則用衛歷,書周事則用周曆,書晉事則用晉歷,其與【經】同者則據魯曆以參改。然隸事既多,取材又博,往往有失於改正者,故日月或有時與【經】違異,要不足爲左氏病也,在善讀【經】【傳】者自能領略之耳。』這裡已說得很明白,【經】【傳】之所以相差一月的原因是魯曆與衛歷因置閏不同造成的,衛歷在前一年年末置閏,而魯曆未置閏,【經】依魯曆,【傳】依衛歷,故【經】【傳】相差一月。我們如從這個角度來看【穀梁傳】與【公羊傳】記載孔子生日的月份差異,也能找到合乎情理的解釋。即是年魯曆在十月前置閏,而衛歷也許在年末置閏,故魯曆的十月相當於衛歷的十一月,【穀梁傳】按魯曆記,而【公羊傳】則按衛歷記。
按王韜在【春秋朔閏至日考】一書的推算,襄公二十一年己酉歲建亥,『二月一日甲寅冬至,是年有閏』。其表排曰:
正月小 乙酉朔
二月大 甲寅朔
三月小 甲申朔
四月大 癸丑朔
五月小 癸未朔
六月大 壬子朔
七月小 壬午朔
八月大 辛亥朔
閏八月小 辛巳朔
九月大 庚戌朔
十月小 庚辰朔
十一月大 己酉朔
十二月小 己卯朔
凡魯曆中以冬至所在的月份爲正月的,王韜均標爲『建子』,即以夏正十一月爲歲首。凡以冬至前一月爲正月的,王韜標爲『建亥』,即以夏正十月爲歲首。如以夏正十二月爲歲首的則標以『建丑』。在整個春秋期間,發現建子最常見,建丑也不少,而建亥的年份並不多。孔子出生這一年按王韜的推步正好是建亥,因爲此年的冬至爲二月一日甲寅,照理應以此月爲正月,那就是正常的建子了,正因爲正月提前了一個月,所以要在歲中置閏以調時令。如果正月不提前,閏月就可置於歲末,這樣十月也正好是庚辰朔,跟【穀梁傳】的記載也是相合的。
這裡涉及到【春秋】以何種曆法記載的問題。有一種觀點認爲春秋時各國同時存在著古六曆的夏曆、殷曆、周曆等幾種曆法,認爲『春秋時期的魯國,魯舊曆「建丑」與魯新曆「建子」兩種曆法並行使用』,『我們推測,用「魯舊曆」與「魯新曆」記載的大部分原始史料由於魯國的社會動盪而散佚。少數散落的史料後來被孔子整理成了【春秋】,完成了第一次結集。』筆者在寫作【孔子生卒年月日考辨】一文時是認同這一推測的,再加上在查考張培瑜先生編的【三千五百年曆日天象】的春秋朔閏表時,發現【春秋】經記的『十月庚辰朔』要在表中所列的魯曆十一月才能找到,因此判定此年的【春秋】經與【穀梁傳】是用建丑的魯舊曆即殷曆記錄的,而【公羊傳】則是用建子的魯新曆即周曆記錄的,從而得出與王笑冬先生一致的結論,即孔子誕生於魯襄公二十一年魯舊曆十月或魯新曆十一月的二十一日,換算成夏曆則爲九月二十一日。當時曾將此文呈正於【孔子研究】雜誌主編王鈞林先生,王先生建議論文應對春秋時魯國同時並行兩種曆法並記事這一點作出論證。因當時我對天文曆法尚甚生疏,所讀的有關春秋時期天文曆法的著作與文章也不多,而春秋時如何用歷是個極其複雜的問題,不是我一時能論證的,我當時問王笑冬先生能否論證,他也說論證不了,我便暫時放下此文,也未作進一步的研究。
今年10月初,王笑冬先生提出在我們考證的孔子生日到來之前他要來京就孔子生日考證問題與我作一個對話。我這才認真看了看兩年前寫的舊作,雖然此文已收進2018年出版的拙編【萬世師表:孔子生平事跡】的附錄中,也在網絡上廣爲傳播,至今似還不見有人提出別的質疑,我想還是自己給自己找漏洞吧,一找果真找到了。
【春秋】經傳記載同一事件不少地方會有一月之差,這是先儒早就注意到的,王笑冬先生通過對【春秋】經傳記載的36個日食的日期考核也注意到了,但對相差一月的原因,先儒一般認爲是置閏或合朔不同造成的,而王笑冬先生則認爲是不同曆法交錯記載的結果。我在考辨孔子生日那一部分是以王笑冬先生的【春秋】以不同曆法交錯記載說爲依據,故將孔子生於十月庚子推爲夏正的九月二十一日,而考證孔子卒日那一部分則是以江永的列國自行推歷由置閏不同而造成【經】【傳】日月常有參差說爲依據,故根據魯曆的記載推爲四月十一日,而王先生則根據周曆推爲四月十二日。如查天文軟體,儒略曆公元前479年3月9日相對應的周曆日期正是四月十二日。如查張培瑜先生的【三千五百年曆日天象】戰國朔閏表,得到的也是與天文軟體同樣的結果。細檢戰國朔閏表,在公元前479年這一年中,表中已不列魯曆,只列周、殷、夏、顓四歷了。但此時是魯哀公十六年,魯國應當還是使用魯曆的,【左傳】一直記到魯哀公二十七年,張培瑜先生的戰國朔閏表是從公元前480年起始的,爲統一起見,便不再列魯曆了。如列上魯曆的話,公元前479年的正月應是辛亥朔,而周曆卻是庚戌朔,也就是說魯曆的合朔要比周曆晚一天,晉杜預的【長曆】合朔同周曆,故杜氏認爲四月無己丑,只有五月才有,認定【左傳】的『己丑』乃『乙丑』之誤,而按魯曆,正月辛亥朔,二月庚辰朔,三月庚戌朔,四月己卯朔,己丑則爲四月十一日。從戰國朔閏表看,魯曆與殷曆是一致的,而殷曆是建丑的,如依王笑冬先生的假說,此年【左傳】應是用魯舊曆記才是,那麼換算成夏曆應是三月十一日,而我換算成二月十一日,王先生換算爲二月十二日,顯然都是按周曆建子算的。這一點,我的結論與江永是完全一致的,江永在【鄉黨圖考】中早指出了杜預的錯誤:『四月己丑當爲十一日也,時魯曆與衛歷不同,蒯聵入衛事【傳】依衛歷在前年閏十二月,而【經】書此年正月己卯,是魯曆前年不置閏,故此年正月有己卯。正月既有己卯,故四月己卯朔,十一日爲己丑。杜雲四月十八日乙丑,無己丑,己丑,五月十二日,日月必有誤,非也。』
值得注意的是江永此論用魯曆與衛歷對比,而不是與周曆對比。大概在江永看來,當時魯國與衛國用的都是以冬至爲正月的周曆,但由於到春秋時周天子勢衰而未能給各諸侯國統一頒歷,各國因自行推步曆法,故在合朔與置閏上各有不同,因而出現各國的日期有不一致的情況,這一情況也反映到【春秋】經傳當中。關立行與關立言先生著的【春秋時期魯國曆法考】也是持這一觀點的。他們認爲『魯國的曆法、周王朝的曆法尚屬「周制」的曆法,正月建子,冬至應在正月』。但有的年份冬至提前到十二月、十一月,他們認爲是『超閏』即不當閏月而提前閏了月一次或兩次造成的。有時冬至又被推遲到二月,他們認爲這是由於『失閏』即本當閏月而未及時置閏一次造成的。他們還認爲『先秦古六曆至早也不過是在戰國時期才創製出來的』,『雖具體年代尚待考定,春秋時期尚無古六曆卻是不爭的事實』,推斷司馬遷所說的『夏正以正月,殷正以十二月,周正以十一月』這句話中的『夏』、『殷』、『周』指的應是『夏制』、『殷制』、『周制』三種不同的曆法制度,認爲『「魯國的曆法」絕不可能是後世才創製出來的先秦古六曆之一的「魯曆」』,『「周王朝的曆法」也不可能是先秦古六曆之一的「周曆」。「魯國的曆法」和「周王朝的曆法」都是周制的曆法,二者基本上相同,也有不同之處』。此說應當也屬於一種推想,但比起【春秋】經傳是用不同的曆法系統交錯記載的說法似更合乎情理,也有更多的學術支持。我們如果認同這一看法,則可得出這樣的結論:【穀梁傳】所記的十月庚子,應是按魯國當時的曆法使用實際記載的,因魯曆奉行的是周制的曆法,而周曆的十月二十一日即是夏曆的八月二十一日。自古以來,凡贊同【春秋】經傳記載的,一般都是這樣認爲的。
由此也可看出考證孔子生卒年月日之難,正如【春秋時期魯國曆法考】所言,春秋魯國曆法是『一部正自不拘、閏余乖次、有失規範的曆法』,『兩千年來,歷代研究春秋曆法、編注春秋朔閏表的學者層出不窮,一些外國學者如新城新藏、藪內清等也在這方面作過大量工作,但迄今見到的春秋朔閏表均未能臻於至善。有些學者,如杜預、趙東山、陳厚耀,特別是如顧棟高等囿於單純追求歷史學考證的方法、觀點,缺乏天文學方面的造詣。顧棟高仿杜氏長曆所輯春秋朔閏表,與春秋經傳似可相合,然而與推算不符,不足以令人信服;另一些學者,如江曰楨、郭守敬、張培瑜等片面追求天文學推算結果的準確性,忽略了春秋時期天文學發展的實際水平和「考證」在歷史學中應占有的地位,編注的春秋朔閏表與春秋經傳不合,不能反映歷史的本來面目,難免出現替古人重排歷表的失誤。陳垣先生作爲嚴肅的歷史學家,編注了大量的古代歷表,但對春秋時期之歷表卻感到無力完成,以致在其【二十史朔閏表·例言】中發出「秦以前曆法無考」的感嘆!研究古代曆法要對當時的天文學發展水平、曆法學狀況有較深入的了解,要具備歷史學考證的觀點,更要具有歷史學考證的功底,只有以天文學推算與歷史學考證有機結合併貫徹始終進行春秋魯國曆法研究,才有望重現一部既與春秋經傳相合,又與推算相符的完善的春秋魯國曆表。』筆者通過爲時數月的孔子生卒年月日的考證深有同感。
考辨至此,關於孔子生卒年月日問題,筆者的看法是,如以魯國實際使用的曆法爲准,即以歷史學或現實的眼光來看,孔子的生年月日當依【穀梁傳】,爲魯襄公二十一年十月庚子,換算成夏曆則爲八月二十一日,換算成西曆儒略曆則爲公元前552年10月9日。孔子的卒日當依【左傳】與【史記】,爲魯哀公十六年四月己丑,換算成夏曆爲二月十一日,換算成西曆儒略曆則爲公元前479年3月9日。如以逆推的日期爲准,即以天文學或理想的眼光來看,孔子的生日可依【公羊傳】,爲魯襄公二十一年十一月庚子,換算成夏曆則爲九月二十一日,換算成西曆格里曆則爲公元前552年10月3日。孔子的卒日仍依【左傳】與【史記】,換算成夏曆爲二月十二日,換算成西曆格里曆則爲公元前479年3月4日。如從尊重歷史事實這一角度來看,筆者傾向於將孔子的生日定爲八月二十一日。考慮到尊重國際慣例,換算成西曆時,筆者傾向於用儒略曆,定爲公元前552年10月9日。考慮到今後國際社會共同紀念孔子誕辰的方便,國家層面將之定爲10月9日可能是比較理想的選擇,一方面避開了由於當時春秋曆法的混亂致使經文記載有異而造成的日期爭執,另一方面又由於經文記載了日食,有可靠的天文學推算作支持,應是最無爭議的選擇。此外,建國後凡紀念孔子誕辰幾周年的算法都是按公元前552年算的,如今年的孔子誕辰周年算法爲2019+(552-1)=2570年。如按公元前551年算,則是計算出問題,因爲不存在公元0年,故在紀念年與出生年相加後需減去一年。因此,採用【春秋】經傳的記載,既有明確的經典記載的依據,又可避免孔子誕辰周年計算出現錯誤的尷尬。至於過去不少人贊同的,或者現在仍爲許多人遵行的魯襄公二十二年十月庚子即夏正八月二十七日,西曆格里曆公元前551年9月28日由於缺乏經典記載的直接依據【史記】只記年,未記月日,是後人將【史記】的年與【穀梁傳】的月日拼合起來的,而且按【史記】的生卒年計算,孔子的壽齡是七十二周歲,與【史記】自身說的七十三歲不符。詳見拙作【孔子生卒年月日考辨】,是不宜確定爲孔子生日的。
筆者認爲今後民間祭孔的日期可依夏曆,孔子的生日可定爲八月二十一日,卒日可定爲二月十一日。國家或國際紀念日可用西曆,孔子的生日可定爲公元前552年10月9日,卒日可定爲公元前479年3月9日。
黃帝四七一六年己亥歲十月二十九日 2019年11月25日 |