载《历史月刊》(台湾)1999年第8期
(公元前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日。