拙作《孔子生卒年月日考辨》一文力辨孔子的生年当依《春秋》经传的记载,为鲁襄公二十一年,即公元前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日 |