公元前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期 |