拙作【孔子生卒年月日考辨】一文力辨孔子的生年當依【春秋】經傳的記載,爲魯襄公二十一年,即公元前552年。但【穀梁傳】與【公羊傳】記孔子生日相差一月,【考辨】依張培瑜先生三千五百年曆日天象表,得出孔子生於夏正九月二十一日的結論,後經再三研考,發現張先生所編的相關曆日天象表與經傳記載有欠合處,遂又作【孔子生卒年月日再考】,認定孔子出生於八月二十一日。
要研究孔子生月,首先要確定【春秋】經傳以何種曆法記事。對此歷代有不同看法,筆者認同清代考據大家江永『三傳皆同用周正』的看法。這也是先儒普遍的看法。
至於【穀梁】與【公羊】如何取捨,先儒除了個別人如清儒毛奇齡幾乎一致地取【穀梁】而棄【公羊】。唐陸德明【經典釋文·春秋公羊音義】云:『二十一年庚子孔子生,【傳】文上有十月庚辰,此亦十月也。一本作十一月庚子。又本無此句。』這是從流傳的文本不同上指出【公羊】記載的『十有一月』並不可靠。明宋濂曰:『孔子所生之年,吾當從公羊氏、穀梁氏,然以春秋【長曆】考之,二十一年己酉十一月無庚子,庚子乃在十月之二十一日。孔子所生之月,吾當從穀梁氏。』孔廣牧【先聖生卒年月考】這是從曆法角度證明【公羊】的記載並不可靠。因此江永直接認爲:『【公羊】謂十一月庚子則誤矣』,『竊謂孔子生年當以二【傳】爲信,月日當以【穀梁】爲信。』【鄉黨圖考】而清孔廣牧則謂『【公羊】諸本不同,自當以又本爲確』,故認爲【公羊】的『十有一月』四字爲衍文。
當然,亦有人認爲【穀梁】與【公羊】並不矛盾,如宋趙去疾在【孔子生年月日考異】一文中說:『今考春秋【長曆】,周靈王二十年己酉歲八月置閏,以曆法積之,則大雪節當在十月十七日或十八日,是爲十一月節氣。又三四日方爲庚子日,是先聖之生已在建子之十一月節氣矣。既入十一月節氣,則是襄公二十二年庚戌歲首無疑。【公羊傳】之書十一月若誤也,而實不誤也。【史記】認爲襄公二十二年,而又以孔子爲年七十有三,亦未嘗誤也。穀梁氏於年於月皆據實書,公羊氏於年據實書而於月以節書,謂有日可表也。司馬氏之筆則於年即以節書,三者皆非誤矣。』趙氏此說甚妙,只是其推論建立在【春秋】經傳皆以夏正記事這個猜想上,故【四庫提要】認爲『其說殊謬』。
古天文學者王笑冬先生著【天之生我,我辰安在?——孔子生卒天文曆法考】,文中認爲:『【春秋】中涉及的曆法不僅有夏曆建寅、殷曆建丑、周曆建子,還有魯舊曆建丑和魯新曆建子等曆法。』『殷曆建丑,武王克商後,雖然周王室將正月前移一月,改爲建子,但魯國與毗鄰的宋國依然使用殷曆「建丑」的曆法,我們稱爲「魯舊曆」。隨著周王室對周曆的推行,魯國的曆法也同時使用建子,我們稱爲「魯新曆」。』『春秋時期的魯國,「魯舊曆建丑」與「魯新曆建子」兩種曆法並行使用。孔子就誕生在這個特殊的歷史時期,這就是魯曆的獨特之處。』『魯襄公二十一年,魯新曆十一月有「庚子」,而魯舊曆十一月無「庚子」。所以【公羊傳】記載的是魯新曆十一月庚子。』
通常認爲,春秋戰國時期魯國使用的曆法,即魯曆,其原曆法規則已軼失,現只能從一些古籍中了解到大致情況:『從魯隱公元年至僖公四年公元前722-前656年,以正月建丑大寒之月爲歲首的年份居多。』正月建子7次,正月建丑51次,正月建寅9次『從僖公五年至哀公十六年公元前655-前479年的177年中,以正月建子冬至之月爲正月的年份居多』。正月建亥20次,正月建子127次,正月建丑28次,正月建寅2次這是關立行、關立言所著【春秋時期魯國曆法考】所提供的研究結果。因此,大致上說魯國在僖公四年之前採用建丑之法姑稱之爲魯舊曆,僖公五年之後採用建子之法姑稱之爲魯新曆,是說得通的。從僖公五年公元前655年到孔子出生之年前552年,使用魯新曆已過了一百多年,說【春秋】還用建丑的魯舊曆與建子的魯新曆交替記事就很有點不合情理了。這樣,將【穀梁傳】的十月庚子判爲魯舊曆自然有武斷之嫌了。先儒以春秋【長曆】考出十月有庚子,十一月無庚子,自然不能斷【公羊傳】的十一月庚子爲魯新曆。但王先生爲何會認爲魯新曆十一月有庚子呢?這可能是他參用了現代天文日曆所致。筆者最初也因誤用了張培瑜先生編的三千五百年曆日天象表中該年的日曆表,以致得出與王先生一致的結論。
觀三千五百年曆日表魯襄公二十一年前552年的魯曆表,初看,【春秋】經所記的『九月庚戌朔』放在十月的欄下,『十月庚辰朔』放在十一月欄下。這樣,庚子日自然不在十月而在十一月了。因此,儘管我們當時所用的現代天文日曆不同,但得出的結論是一致的:孔子生於魯新曆十一月庚子,換算成夏曆爲九月二十一。但細察此表,發現在二月欄下的『甲寅』前注了一個『正』字,表明制表者認爲當時魯國是將此月作爲正月的,既然表中的二月實爲正月,那表中的十月庚戌朔與十一月庚辰朔自然也要前移一月,成爲九月庚戌朔與十月庚辰朔,正好與【春秋】經傳所記的相合。如此看來,十一月沒有庚子,【公羊】所記非當時的魯曆亦可斷定,也可知先儒擇【穀梁】而棄【公羊】是有充足理由的。
曆法學者崔記川先生著【孔子生日求真】,以獨創的『2604法』驗證了【穀梁】記載的『十月庚子』爲夏正八月二十一確鑿無疑,但文中又說:『筆者大膽推測,春秋經記錄的十月庚辰朔日有食之是參考魯史的資料,魯史雖有這次日食,但其原文絕對不是「十月庚辰朔,日有食之」,極可能是:十月,日有食之;或十月朔,日有食之。孔子記錄的九月庚戌朔日有食之是周史的原文,接下來孔子看到魯史十月的這次日食,誤以爲是兩次日食,順帶把干支補上。實際這兩者所記是一次日食,只是由於魯曆置閏滯後,周曆與魯曆在這一年出現了月份名稱的不同。參看【三千五百年曆日天象】此年春秋經稱九月庚戌朔,成了十月庚戌朔。同理,襄公二十四年七月甲子朔日有食之、八月癸巳日有食之是和襄公二十一年一樣的情況。』『有一點可以肯定,魯襄公二十一年【三千五百年曆日天象】的魯曆是與真實的魯曆一致的,【公羊傳】十有一月孔子生就是佐證,在後面章回再作詳解。總之,孔子記連食說明了採用的史料皆爲信史,只是處理不嚴謹而已,……』『筆者大膽推測【公羊傳】作者公羊高與老師子夏關係應更密切,這十有一月必是孔母親口傳於孔子,孔子傳子夏,子夏傳公羊高。親口所傳,而非衍文。』
這兩個推測似乎確實有點大膽,孔子記錄的『九月庚戌朔,日有食之』爲何一定是周史的原文,而不是魯史的原文呢?清人袁谷芳【書法論】認爲:『春秋者,魯史也。魯史氏書之,孔子錄而藏之,以傳信於後世者也。』石韞玉【獨學廬初稿·春秋論】也說:『【春秋】者,魯史之舊文也。【春秋】共十二公之事,歷二百四十年之久,秉筆而書者必更數十人。此數十人者,家自爲師,人自爲學,則其書法,豈能盡同?』未見有【春秋】採用周史原文的說法。
對連月日食的現象,不僅【春秋】經有不止一次的記載,漢初亦有兩次記載,先儒有認爲記實的,亦有認爲誤記的,或認爲是錯簡所致。江永認爲:『曆法無連月比食之理,春秋及漢初有比食者,皆史家之誤。』鄭環駁曰:『江氏不知隔五六月而食天之常,連月比食天之變。【春秋】乃夫子所修,豈亦不知曆法耶?』作【春秋穀梁經傳補註】的清儒鍾文烝則認爲:『求諸日月交會之術,則自漢至今,諸歷家皆以百七十三日有奇爲限,必不得頻月食,若謂古篆隸之遞變,簡縑紙之迭代,傳寫致誤,則不應二十四年及漢初其誤不約而同,且古書何一非傳寫者,辭亦遁矣。……日有食之,乃據所見,於【經】或可兩存,於史不容一誤,即或誤視氛珥,豈得遂筆諸書?又不應似食真食,頻月爲常,而襄公及漢初之史,同歸誤視,且古之治歷者,合朔之差,則由平朔,交食之道,無容不知,史必不以不食爲食,而君子修【春秋】,既正其朔,亦必不於不食之食而不之正也。石介曰:「天道至遠,不可得知,後世執推步之術,案交會之度而求之難矣,予以斯言爲信。」』即認爲推步之術乃是死法,而天道至遠,有隱幽難測、變化無常的一面,一味信術也是不可取的。因此,對【春秋】與漢初史書四次連月書食之事最合適的態度還是存疑,這也是孔廣牧對【春秋】有頻食記載的判斷依據:『連月書食,舊史闕文。疑以傳疑,故聖人不刪。』如依崔先生所言,則孔子不僅修【春秋】不嚴謹,其曆法知識也不及常人了。
現在我們來看看,魯襄公二十一年【三千五百年曆日天象】的魯曆是否肯定與真實的魯曆一致。
【漢書·律曆志】提到『有【黃帝】【顓頊】【夏】【殷】【周】及【魯曆】』,即所謂的古六曆。沈約【宋歷志】認爲六家歷皆六國及秦時人所造,孔穎達【書正義】也認爲古六曆遭戰國及秦而亡,六曆皆秦、漢之際假託者。關立行、關立言先生在其所著【春秋時期魯國曆法考】中也說:『先秦古六曆至早也不過是在戰國時期才創製出來的。祖沖之認爲先秦古六曆的創製「皆在漢初周末,理不得遠」。錢寶琮先生根據【後漢書·律曆志】記載的史料,推算出殷曆和顓頊曆創製年代,大約在東周末年。席澤宗先生也得出過類同的結果。雖具體年代尚待考定,春秋時期尚無古六曆卻是不爭的事實。』因此,『「魯國的曆法」絕不可能是後世才創製出來的先秦古六曆之一的「魯曆」,「周王朝的曆法」也不可能是先秦古六曆之一的「周曆」。「魯國的曆法」和「周王朝的曆法」都是周制的曆法,二者基本上相同,也有不同之處。』也就是說魯國的曆法與周王朝的曆法並不是兩個體制不同的曆法系統,而且都屬於建子的周制曆法。要是說有什麼不同,那是在前770年周平王東遷後周王室已失去天下共主的地位,因而不向諸侯國頒歷而聽任列國自行推步曆法後產生的。
先儒已發現【春秋】經傳在記事時有時會有相差一月的現象,其原因就是由此造成的,如江永在【群經補義】中說:『周既東遷,王室微弱,天子未必頒歷,列國自爲推步,故【經】【傳】月日常有參差,如昭二十二年劉子、單子以王猛居於皇,【經】書秋而【傳】在冬十月丁巳。王子猛卒,【經】書冬十月,而【傳】在十一月乙酉。【經】書十二月癸酉朔,日有食之,而【傳】此年未有閏,明年辛丑正月爲壬寅朔,則【經】之十二月癸酉朔日食即【傳】之閏月,是周曆、魯曆置閏有不同矣。』崔先生認爲『由於魯曆置閏滯後,周曆與魯曆在這一年出現了月份名稱的不同』,應該與江永的看法是一致的,只是江永認爲是【經】與【傳】的差異,而不是【傳】與【傳】的差異。【春秋】經並未記孔子的生日,孔子出生時其生日尚無資格載入史冊,孔子修【春秋】時也不可能自己將自己的生日添加到經文中,也不會稱自己爲『孔子』。因此,認爲【穀梁傳】中記孔子生日的是子夏的弟子魯國人穀梁赤應是可信的。崔先生說『這十有一月必是孔母親口傳於孔子』,應當說是純粹出於猜想。穀梁赤與公羊高同是子夏弟子,子夏爲何不將孔母親口所傳的生日也告訴穀梁赤呢?當然,崔先生還有一個推想:『孔子記錄的九月庚戌朔日有食之是周史的原文。』前文已言此推想缺乏堅實的證據,我們姑且認爲經文九月庚戌朔確實出於周史的記載,但如果說【穀梁傳】的『十月庚子孔子生』也是出於周史的記載就有點令人難以置信了,因爲到穀梁赤時,周王朝早已停止統一頒歷,身爲魯人的穀梁赤爲何不遵孔子依魯曆記事的慣例而要用周曆記載先師的生日呢?不管怎麼說,【穀梁】與【公羊】相差一月的事實是明擺著的,二者只能是一種按魯國當時的曆法記錄的,如能確證【穀梁】按周曆記載,【公羊】按魯曆記載,那麼孔子的生日當以魯曆爲准,應轉換爲夏正的九月二十一,而不應按當時魯國並未實行的周曆轉換爲八月二十一。比如今年閏四月,出生在十月的人,還是記作十月出生,而不能減去閏月算作九月出生。因此,依崔先生後面的推想,不應得出孔子生於八月二十一的結論,應與王笑冬先生的結論相同,如此又與崔先生力主的日期相違。
如果不能確證【公羊】的『十有一月』是魯曆的記載,自然不能拿它作爲魯襄公二十一年【三千五百年曆日天象】的魯曆是與真實的魯曆一致的佐證。
【三千五百年曆日天象】春秋朔閏表周靈王二十年,魯襄公二十一年,即公元前552年的魯曆與周曆表是這樣排的:
|
公曆 |
魯曆 |
周曆 |
正月 |
11.28 |
乙酉 |
甲申 |
二月 |
12.27 |
(正)甲寅 |
癸丑 |
三月 |
1.26 |
甲申 |
癸未 |
四月 |
2.24 |
癸丑 |
壬子 |
五月 |
3.26 |
癸未 |
壬午 |
六月 |
4.24 |
壬子 |
辛亥 |
七月 |
5.24 |
壬午 |
辛巳 |
八月 |
6.22 |
辛亥 |
庚戌 |
九月 |
7.22 |
辛巳 |
庚辰 |
十月 |
8.20 |
庚戌 |
己酉 |
十一月 |
9.19 |
庚辰 |
己卯 |
十二月 |
10.19 |
庚戌 |
戊申 |
閏月 |
11.17 |
己卯 |
戊寅 |
按此表,周曆的庚戌朔在八月,魯曆的庚戌朔在十月,二者都不在九月,即都不符合【春秋】經『九月庚戌朔』的記載。但考慮到表中魯曆在二月甲寅前加了一個『正』字,說明編者認爲魯國是年並不是以表中所列的乙酉朔爲正月的開始,這樣,二月後每月都得上移一月,魯曆的十月庚戌就成了九月庚戌,這樣就正好與【春秋】經的記載相吻合了。王笑冬先生雖然也與崔記川先生一樣認爲【公羊】是用魯曆記,但與崔先生所持的【穀梁】用周曆記不同,他認爲【穀梁】也是用魯曆記,只不過是用建丑的魯舊曆記罷了,他的這個推想跟三千五百年曆日天象表倒正好相符,問題在他爲了證明【公羊】記載的權威性與確切性,不惜作出『春秋時期的魯國,「魯舊曆建丑」與「魯新曆建子」兩種曆法並行使用』的大膽推想,但因缺乏有力的證據而使人難以信從。現經廣泛查考,基本上可以認定,春秋時的魯國並未交替使用建丑與建子的兩套曆法,但因當時的魯國由於合朔與置閏已經失范,在確定歲首上,並不是都放在有冬至的那一月,有時會提前一月成爲建亥,有時會退後一月成爲建丑,或退後兩月成爲建寅。王先生在核對【春秋】經記載的36個日食時已發現【春秋】經傳記事有周正、殷正、夏正三正並用的現象,誤以爲是三套曆法並用,不知是一套曆法由於合朔或置閏失范造成的。此現象已爲清曆法考據家王韜在其所著的【春秋朔閏至日考】中明確披露,也爲日本考據家新城新藏及中國學者關立行、關立言的研究所證實。
按王韜的研究,襄公二十一年已酉建亥,二月一日甲寅是冬至,是年有閏。與張培瑜先生的曆日表有所不同,王韜對該年的朔閏表是這樣排列的:
正月小 乙酉朔
二月大 甲寅朔
三月小 甲申朔
四月大 癸丑朔
五月小 癸未朔
六月大 壬子朔
七月小 壬午朔
八月大 辛亥朔
閏八月小 辛巳朔
九月大 庚戌朔
十月小 庚辰朔
十一月大 己酉朔
十二月小 己卯朔
經比較可知,張培瑜與王韜均認是年的甲寅朔爲冬至。表上也均列乙酉朔爲歲首,但張表爲何要在甲寅前註上正月呢?因爲魯曆與周曆都是建子的,有冬至的這一月應該作歲首,而閏月按規定須置於歲末。張表便是按這個理想的規定造的。但這樣一來也有問題,去掉乙酉朔這一月,此年只剩下十一個月了,那就只好將本作閏月的己卯朔這一個月當作十二月了,那麼此年便無閏月了。如果不以二月作正月,經文的九月庚戌朔就變爲十月庚戌朔了,這樣又與經文不合。所以張表這麼處理並不圓滿,不能說就是當時魯國的真實曆法。相反,王韜在八月置閏就很妥善地解決了這個問題。
關於襄公二十一年閏在何月有兩種說法,一據【大衍曆】或古曆,是年閏二月,一據杜預【長曆】,閏八月。西周時一般置閏於年末,但到春秋時已變成在任何月都可置閏了。如魯文公元年前626年閏三月,魯昭公二十年前522年閏八月,這在【左傳】都有明確記載。但不管是閏二月,還是閏八月,都閏在孔子生月前。而子夏所在的衛國用的卻是衛歷,衛歷也是建子的周曆系統,只因與魯國合朔或置閏不同,導致魯曆與衛歷有時也有一月之差。如哀公十五年衛世子蒯聵自戚入於衛,【傳】在此年末之閏月,而【經】卻書十六年正月己卯,王韜認爲是年衛歷有閏,魯曆無閏,左氏據衛歷,而經文從魯曆。如此看來,【春秋】經用魯曆可以確定,【穀梁傳】的作者穀梁赤是魯國人,依【春秋】的體例也用魯曆記載自然是合乎情理的。【公羊傳】有兩個傳本,一同【穀梁傳】,自然是依魯曆,一有『十有一月』四字,可能就是依衛歷,想必是年魯曆閏在孔子生月前,而衛歷則置閏於年末,故二者有一月之差。子夏是衛國人,依衛歷自然要記作十一月,但孔子是魯國人,照理還是須按魯曆記。二【傳】在漢代成書前曾經長時間的口傳,這恐怕是形成【公羊】兩個傳本的原因所在。
孔子的誕辰年月日在兩千多年前的經典里就有明確的記載,打開【春秋】經傳,至今仍赫然在目,雖然漢儒皆遵而信之,可【史記】一出,自晉代杜預始儒者中即有人開始遵【史】疑【傳】,於是千百年來本來無可爭辯的孔子誕辰問題變得撲朔迷離,爭訟不已。自清代以來,遵【史記】者漸占上風,【史記】所記之年配上【穀梁】所記的月日這種拼湊而成的誕辰竟爲多數人所信奉,甚至由政府正式頒定。但時至二十世紀仍有學者據理力辨,或以過人的膽識破前人訛說,如民國時期天才學者劉咸炘作【孔子生年月日決辨】,對千百年來先儒的紛爭作了定讞,確考爲魯襄公二十一年夏正八月二十一日;或藉助現代天文學的研究成果佐證【穀梁傳】的記載正確無誤,如天文學家江曉原於1999年發表【孔子誕辰考】,以現代天文學的角度確定孔子誕生於公元前552年10月9日。近年又有不少學者寫出一些考證文章,基本上皆遵【春秋】經傳的記載。東西幾大聖人的生日有早期史料明確記載的唯有孔子,但千百年來諸聖中生日一直不能確定的也唯有孔子。對於一個有大一統文化傳統的國度而言,連本民族至聖先師的誕辰都不能夠確定,應是一種遺憾。當歷史機緣成熟時,如能將之確定下來,並形成文化共識,當是中國文化史上一樁殊勝大事,其意義之大自不待言。我相信確定至聖先師生辰的歷史機緣已經成熟,這也是中國聖道文化要全面走向世界的徵兆吧!
黃帝四七一七年庚子歲七月十五~二十二日 2020年9月2-9日 |