辽宁大连画家柏庶人:孔子诞辰2556周年是怎么推算的?

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/28 16:25:28
今年,2005年,是孔子的2556年诞辰,孔子究竟生于何年何月何日,过了几千年,是怎么推算出来的?
我想知道你怎么推算出来的,要准确的

《文汇报》上发表过一篇文章,对孔子的诞辰再次提出疑义,并且做出一个新的结论:“明年,2000年才是孔子的2550 岁”。天文学家江晓原偶然看了这一报道后,开始了自己的求证。接下来,这位刚刚运用天文学家计算方法推出武王伐纣精确日程表的科学家又以自己的科研成果再次向世人宣布:一个将天文学知识引入历史研究领域的时代从此开始了。

  山重水复疑无路:典籍的矛盾记载与历法的换算困难

  现今我们能见到的较早的关于孔子诞辰的记载,无非是在《春秋公羊传》、《春秋谷梁传》和《史记》当中。

  《春秋公羊传》和《春秋谷梁传》,都是对儒家经典、我国第一部编年体史书《春秋》的阐释。而《春秋》相传就是孔子依据鲁国史官所编鲁国史整理修订而成,按说,由孔子亲自加工,这部经典至少在对孔子诞辰的记载上不应出现错误。然而,不知为什么,经了公羊高和谷梁赤两位先生的阐释就偏偏出现了矛盾,从而给后人留下了谜团,而且一“谜”就是两千多年。

  《春秋公羊传》云:“(鲁襄公)二十有一年……九月庚戌朔,日有食之。冬十月庚辰朔……十有一月,庚子,孔子生”。

  《春秋谷梁传》云:“(鲁襄公)二十有一年,……九月庚戌朔,日有食之。冬十月庚辰朔……庚子,孔子生”。

  两者记载的年份虽然相同,即都是鲁襄公二十一年(公元前552年)。但前后却相差了一个月,前者为十一月,后者为十月,竟又同为庚子日。可是,鲁襄公二十一年十一月有庚子日吗?

  江晓原先生说:“古代中国人从很早就用干支纪日,即用十天干与十二地支相配合,六十日一循环,甲子是这六十日循环之首。历史学家们通常都同意这样一个假定,就是中国的干支纪日几千年来从未间断过或错乱过,迄今为止也确实未出现过足以危及这一假定的证据。从干支纪日的简单排算就可以知道,九月庚戌朔,接着十月庚辰朔,接下去二十天后就是庚子,而这个庚子只能出现在十月,整个十一月根本没有、也不可能有庚子的干支,《春秋公羊传》的记载显然是错的。”这位公羊高先生为什么会闹出这样的笑话,现在已不得而知。

  如此互为矛盾的记载,即使到了最重实证的大史学家司马迁那里也无可奈何。《史记·孔子世家》云:“鲁襄公二十二年(公元前551年)而孔子生”。“孔子年七十三,以鲁哀公十六年四月己丑卒”。鲁哀公十六年即公元前479年,551-479=72岁。生卒年不能吻合,忽而73岁,忽而72岁,依据哪个?

  尤为不可谅解的是,另一些人又采用了随心所欲各取所需的办法,即确定年依据《史记》说,确定月日依据《春秋谷梁传》。这种不顾逻辑而随意杂交了两种互为矛盾观点的做法,很不严肃。

  还有的人固执地坚持“公元前551年出生”的观点,其理论依据竟是“圣人诞生之年怎能出现日食”一类的思想,其荒唐已臻巫术之境界。写到这里,我们对一位先人产生了由衷的敬意,他就是唐人司马贞。这位学者,在对《史记》进行了全面系统的考证后,写出了颇具价值的《史记索隐》。面对《史记·孔子世家》的模糊,他老老实实地浩叹一声:“《经》、《传》生年不定,致使孔子寿数不明。”

  江晓原先生既不像司马迁那样另起炉灶,也不像司马贞那样无所作为,更不像有些人那样随心所欲。他集中精力去解读《春秋古梁传》,他以“(鲁襄公)二十有一年……九月庚戌朔,日有食之。冬十月庚辰朔……庚子,孔子生”为出发点向前走,他遇到的第一个难题是:“十月庚子这一天是公历的几月几日”?这不是一个容易解决的问题,不但春秋时代历法中的正月相当于现今夏历几月目前没有定论,就是公历也只有在公元1582年罗马教皇格里高利颁布后才有效。以往的那些错误的结论,不少是因为忽视了历法的这种不统一性。比如,有一些人推出的错误的孔子生日,就是因为混用了两种历法。具体地说,他们是用格里高利颁布的公历一直往前推,可是在1582年公历还没有诞生,那之前国际上流行的一直是古罗马君王凯撒颁布的儒略历,两个历法的衔接之间有十日的跳跃。

  柳暗花明又一村:典籍中有“日食”记录

  江晓原先生曾在夏商周断代工程会议上说:“中国古人相信天象与地上的事件有密切联系,因此往往在发生重大事件时留下天象记录。借助历史文献中丰富的天象记录,尤其是日食、月食、行星等天象,可以推算出历史时间的精确年代,这是考古学和历史研究无法做到的。”这个创意,虽然汉朝的刘歆也曾有过,但由于他没有先进的计算机和天文软件的帮助,他只能寄希望于后来人。江晓原先生当然较刘歆幸运多了,他不但有美好的创意,而且还有成功的实践。

  《春秋公羊转》、《春秋谷梁传》尽管两者在月份记录上有较大出入,但两者写了同一句话,即“日有食之”。对江晓原先生的研究来说,这是最硬的硬件。日食是非常罕见的现象,一般会出现错记、漏记的情况。尤其令人振奋的是,日食又是精确回推计算的天象,它完全可以成为解决孔子诞辰问题的科学坐标。在《春秋》242年的记载中,共记了37次日食,用现代天体力学方法回推验证,其中大部分都是真实准确的。江晓原先生和助手对鲁襄公二十一年即公元前 552年进行反复验算得出的结果都是一个,那年在曲阜可以看到一次食分达到0.77的大食分日偏食,而且出现此次日食的这一天,纪日干支恰为庚戌,这就与《春秋公羊转》和《春秋谷梁传》中的“九月庚戌朔,日食有之”的记载完全吻合。验算结果还证明,《史记·孔子世家》中说的“鲁襄公二十二”年(公元前 551年)根本没有日食。

  为了确定这次庚戌日食的公历日期,江晓原先生采用了不考虑月份的记时坐标,即天文学上常用的“儒略日”。这是一种以“日”为单位单向积累的记时系统,它以公元前4713年1月1日为起算点一天一天地往下加,一天也不落。这种方法与我国古代连续不断的纪日干支系统实际上有异曲同工之妙。公元前 552年发生日食的那个庚戌日,对应的儒略日为1520037。而儒略日与公历的对应是早已明确解决了的问题,接下来的结果不能不让人眼睛发亮,原来与儒略日1520037对应的公历日子是公元前552年8月20日。经得起检验的《春秋谷梁传》中说:“(鲁襄公)二十有一年……九月庚戌朔,日食有之,庚子,孔子生。”江晓原先生据此又进行推算,他按干支顺序往后推,从鲁襄公二十一年九月庚戌朔推到这年十月庚子恰好是50天,从8月20日后推50天,即是这一年的10月9日。而儒略日1520037加上50天,即1520087,与这一天相对应的公历正是公元前552年10月9日。

  最先进的天文“核武器”精确验证谜底:孔子诞生于公元前552年10月9日

  江晓原先生和他领导的课题组,掌握着国际天文学界最先进的“核武器”,其中之一是“长时段行星历表DE404”。它的时间跨度为公元前 3000年———公元3000年。它不但吸收了雷达、射电、VLBI(甚长基线干涉)、宇宙飞船、激光测月等高新技术所获得的最新观测数据,而且在力学模型上还能保证积分初始值的精确性和理论的先进性,其误差为行星每世纪在百分之一角秒量级。这样的误差对孔子诞辰问题所涉及的计算来说,已完全不必考虑;另外他们还有目前最先进的天象演示软件,它能够在给定观测时间、观测地点之经纬度后,立即演示出此时此地的实际星空,包括恒星、太阳、月亮、各行星、彗星乃至星云等几乎所有天体的精确位置。

  江晓原先生把对孔子诞辰的推算结果输入这两个电脑软件中进行验证,得出的竟是令人惊喜的一致:孔子诞生于公元前552年10月9日,卒于公元前479年3月9日,享年73岁。今年2005年10月9日正是其2556大寿(2005+(552-1)=2556,没有公元0年,故减1)这项科研成果一公布,立即在海内外引起强烈反应。目前,香港孔教学院已正式向江晓原先生发出邀请,希望他能应邀前去参加今年十月举行的孔子诞辰2550周年庆典及国际学术研讨会,向那里的人们报告他的研究成果。

  江晓原先生在电脑上给记者调出了公元前552年8月20日曲阜所能见到的日食天象演示图:浩瀚的苍穹里,太阳也被月球遮去了大半,一切喧嚣似乎都已沉寂了下去,只剩肃穆和神秘,仿佛在期待什么。

  又过了50天,城南耳邓邑那个大力士叔梁纥家传出了婴儿的啼哭,当时的曲阜人谁能想得到那竟是一个圣人的啼哭呢?

  不错,公元前552年10月9日那天诞生了一个圣人。

http://www.confucius2000.com/confucius/tkzdcdts.htm
谈孔子诞辰的推算

徐文新

1999年,江晓原先生根据《谷梁传》的记载,提出孔子诞生于公元前552年10月9日,《科技日报》1999年9月6日以《揭开孔子诞辰之谜》为题作了报道,江先生此说也见于《世界科学》2000年5期的《天文历史年代学初论》一文。值得质疑的是,江先生的推算采用的是儒略历,而不是格里历。

另一方面,传统的祭孔日期定在农历八月二十七日,据说出自孔氏家谱。孔氏家谱这一日期应该是来自是《史记》,而《史记》不及《谷梁传》可靠。不过,国民政府曾据此定夏历八月二十七日作为教师节,后来又邀请历法及考据专家把孔子诞辰换算为公历9月28日,并以这天为孔子诞辰纪念日。值得注意的是,国民政府所邀请的历法专家得出9月28日,是采用格里历推算的。

我认为在没有发现更多史料的情况下,孔子诞辰应以《谷梁传》为依据,而运用格里历推算,那么孔子诞辰合理的日期应该是公元前552年10月3日。

孔子的诞辰争论的史料

关于孔子诞辰的早期记载,见于《公羊传》、《谷梁传》和《史记》。

《公羊传》:“(鲁襄公)二十有一年,春,王正月,公如晋。夏,公至自晋。 秋,晋栾盈出奔楚。九月庚戌,朔,日有食之。冬,十月,庚辰,朔,日有食之。十有一月,庚子,孔子生。”

《谷梁传》:“(襄公)二十有一年,春,王正月,公如晋。夏,公至自晋。 秋,晋栾盈出奔楚。九月庚戌,朔,日有食之。冬,十月,庚辰,朔,日有食之。庚子,孔子生。”

《史记·孔子世家》:“鲁襄公二十二年而孔子生。”“孔子年七十三,以鲁哀公十六年四月己丑卒”。

关于《公羊传》的“十有一月,庚子”,阮元《十三经注疏校勘记》曰:“按作‘十月’者是也。考杜氏《长历》,十月庚辰小,十一月己酉大,十一月无庚子,庚子乃十月二十一日也。齐召南说。”说明前人已经认定《公羊传》有误了。

关于《史记》的“鲁襄公二十二年而孔子生”,《史记索隐》曰:“《公羊传》‘襄公二十一年十有一月庚子,孔子生’。今以为二十二年,盖以周正十一月属明年,故误也。”司马贞试图从三正的角度为调和二说。梁玉绳以之为大谬:“从来三正推法,只以后月属前月,并无以前月属后月。周正十一月第能为夏正九月,未闻倒而为夏正之正月者。”[1]

历史上,认同“襄公二十一年”的主要有贾逵、何休、刘恕、马端临、宋濂、崔述、钱大昕等,认同“襄公二十二年”的则有杜预、袁枢、郑樵、朱熹、黄宗羲、阎若璩、梁玉绳、崔适等[2],可谓旗鼓相当。

宋濂专门写了一篇《孔子生卒岁月辨》,曰:“《公羊》《谷梁》二氏传经之家也,传经之家当有讲师以次相授,且去孔子时又为甚近,其言必有据依。司马迁固良史,则后于《谷梁》《公羊》者也,吾则无征乎尔。”[3]

梁玉绳《史记志疑》则曰:“从《公》、《谷》者,《索隐》、《外纪》、《黄氏外纪》及宋濂《孔子生卒岁月辨》之类也。从《史》者杜注《左传》、《拾遗记》、《续博物志》、《古史》、《大纪》、《路史》、朱子《论语序说》、《通鉴前编》、余姚黄氏宗羲《南雷文约》之类也。”梁氏又曰:“二十一处是已酉,二十二年是庚,当从《史记》为的。其徵有三:襄二十一年日食,必非生圣人之岁,一也。《公》、《谷》皆口授,《公羊》著于汉景之刊,《谷梁》显于汉宣之代,历世既久,宁得无讹,二也。杜注哀十六年传云‘仲尼至今七十三’。《五代史冯道传》,道卒年七十三,时人皆谓与孔子同寿,则非七十四可知,三也。《困学纪闻》两存其说,以为不可考。《索隐》深悼孔子生年莫定,致寿数不明,不然矣。若生月必当从谷梁在十月,以杜《长历》推之,是年十一月无庚子,况三《传》经文于十月既书庚辰朔,则庚子在十月,倘作十一月,则一月只二十日,大不可通。且陆氏《公羊释文》曰:‘上有十月庚辰,此亦十月。一本作“十一月”,又本无此句。’是知《公羊》传写讹异,非灼然可据者。至生日必庚子无疑,不但《公羊》书之,《南齐书》臧荣绪以宣尼生庚子日,陈《五经》拜之,固确证也。综而论之,年宜依《史记》,月宜用《谷梁》,日则庚子。《路史余论》定为八月廿七日孔子生,又引《五行书》谓生庚戌年二月二十三日甲申时,斯不足辨耳。”以此为线索,我们可以看到大量的争论材料。

现在看来,梁玉绳孔子二十二年生的理由没有一条是坚实的,当然也不只是他一人,其实东汉以降诸人,无论持哪一说,均没有更多的理由。在没有更多证据的时候,以《谷梁传》为依据要合理一些。

《公羊》《谷梁》二传均有鲁襄公二十一年九月、十月频食的记载,《谷梁传》杨士勋疏曰:“据今历无有频食之理,但古或有之。”现代天文学证明,频食虽有,但鲁襄公21年即公元前552年没有,儒略历该年8月20日在曲阜可以看到一次食分达到0.7的日偏食,这一天的纪日干支恰为庚戌,这就与《公羊传》和《谷梁传》中的“九月庚戌朔,日有食之”的记载吻合,至于《公羊》《谷梁》二传所载该年十月庚辰朔日食无疑有误了。

孔子诞辰应定为10月3日

据报道,江晓原先生为了确定这次庚戌日食的公历日期,采用了“儒略日”。公元前552年发生日食的那个庚戌日的儒略日为1520037。而《谷梁传》中说庚子日孔子生,从庚戌到庚子是50天,儒略日1520037加上50天,即1520087,江先生换算后认为孔子诞生于公元前552年10月9日。

但是,问题就在这里,此处的公元前552年8月20日和10月9日均是儒略历日期,而不是格里历日期,而儒略历是有相当误差的。

我国古代用干支纪日,今人读古籍时总想知道是几月几日。儒略日也不符合人们的使用习惯,所以儒略日也存在一个转换为通用日历的问题。通用历日与儒略日的转换公式[4]是:

a = (14- month)/12

y = year + 4800 - a

m = month + 12a - 3

格里历的日期转换公式:

JD = day + (153m+2)/5 + 365y + y/4 –y/100 + y/400 –32045

儒略历的日期转换公式:

JD = day + (153m+2)/5 + 365y + y/4 – 32083

注:1.公元纪元以前的年份要改为负数,如:10 BC = -9.

2.所有除法均为整除法,余数舍去。

我们把前552年8月20日分别代入上面公式,如果是格里历则JD=1520043,如果是儒略历则 JD=1520037.

我们把前552年10月9日分别代入上面公式,如果是格里历则JD=1520093,如果是儒略历则 JD=1520087。

足以说明,江先生的前552年8月20日、前552年10月9日均是儒略历日期。如上所述,儒略历有较大误差。如果我们要纪念孔子诞辰若干周年,应该采用更精确的格里历来计算,那么孔子诞辰的儒略日1520087换算成格里历是公元前552年10月3日。

从回归年的长度来看,格里历1999年10月3日的儒略日是2451455,格里历1999年10月9日的儒略日是2451461

{1999―(―551)}*365.2422=2550*365.2422=931367.61

2451455-1520087=931368

2451461-1520087=931374

可以看出,格里历即公历1999年10月3日与孔子诞辰的儒略日1520087(格里历公元前552年10月3日,即儒略历公元前552年10月9日),相差931368天,与2550个回归年的值931367.61天相近,而格里历1999年10月9日与那一天相差931374天,比2550个回归年多出6天。那么1999年10月9日,纪念孔子诞辰2550周年是有误了。

从太阳在黄道的位置来看也是如此,取曲阜地区的平均经度117°02'、纬度35°49'计算:

儒略历公元前552年10月9日12时即格里历是公元前552年10月3日12时,儒略日1520086.67,太阳在黄经189°52'47"。

格里历公元1999年10月3日12时,儒略日2451454.67,太阳在黄经189°30'53"。

格里历公元1999年10月9日12时,儒略日2451460.67,太阳在黄经195°25'47"。

显然10月3日太阳在黄道的位置更接近189°52'47"。

夏商周断代工程中,江先生认为的牧野之战日期公元前1044年1月9日,同样是儒略历的日期,如果用格里历来计算,应该是公元前1045年12月30日,日干甲子。

农历8月27的来源

晋明帝太宁三年诏四时祀孔子。据说以后历代加增,每年的祭孔活动大小有50多次。但以春秋两次大祭为主,尤以秋祭为重。将每年的大祭定在农历八月二十七日孔子诞辰日,据说是出自出自孔氏家谱,国民政府曾据此定夏历八月二十七日作为教师节,后来又邀请历法及考据专家把它换算为公历9月28日,值得注意的换算成是9月28日采用的是格里历。下面,我们来分析农历八月二十七日是如何得来的及其可靠性:

如梁玉绳所述那样,把《史记》的“鲁襄公二十二年”和《谷梁传》的“十月庚子日”拉到一起,就是“鲁襄公二十二年十月庚子日”。再根据“三正说”把周正“十月”改为夏正“八月”,把日干“庚子”换算成数字纪日“二十七”,“鲁襄公二十二年夏正八月二十七”就出来了。

但是,《史记》仅记载“鲁襄公二十二年”,无孔子生日的干支,而《谷梁传》的“十月庚子日”是“鲁襄公二十一年”,这样把两者给合起来,显然不合理的。

从历法发展来看,战国以前是干支纪日,“二十七日”这种数字纪日不大可能是西汉前期的记载。

殷墟甲骨刻辞采用干支纪日。

徐锡台先生说:“周原甲骨文中出‘既吉’,‘既魄’,‘既死’,说明在周文王时就已用月相补充殷的干支纪日方法”。[5]而《尚书》及出土铜器铭文中大量使用既生霸、既望、既死霸来描述月相辅助纪日。夏商周工程阶段性成果倾向于“月相四分”,并归纳出西周时期置闰规律:1.西周历法采用“朔”或“朏”为月首。认识朔以前,当以“朏”为月首。2.西周历法的建正多为建子、建丑。3.西周历法一般采用年终置闰。这说明当时的历法水平还没达到“四分历”的程度。

《后汉书·律历志》贾逵论历曰:“以《太初历》考汉元尽太初元年日食二十三事,其十七得朔,四得晦,二得二日。新历七得朔,十四得晦,二得二日。以《太初历》考太初元年尽更始二年二十四事,十得晦。以新历十六得朔,七得二日,一得晦。以《太初历》考建武元年尽永元元年二十三事,五得朔,十八得晦。以新历十七得朔,三得晦,三得二日。”《汉书·五行志》:“凡汉著纪十二世,二百一十二年,日食五十三,朔十四,晦三十六,先晦一日三。”《后汉书·律历志》:“自太初元年始用《三统历》,施行百有余年,历稍后天,朔先于历,朔或在晦,月或朔见。”

从西周和两汉历法水平来看,春秋时期当不能准确预推朔日,但春秋所记载的“日有食之”均在朔日,春秋中的朔日能与日食相吻合的原因何在?我们推测,春秋时期只能大体按一个月29天有余,30天不足定出朔日来进行“告朔”,并随时根据发生的日食来调整朔日,如《说文》所云“日蚀则朔,月蚀则望”。《春秋》中与日食相关的“朔日”,并不是事前推算出来的,而是发生日食之后,把“日食”记载于日之“干支”之后,并书上“朔”,所以才有那么准确,也算是“事以系日”的内容之一吧。

朔日不定,也就无法用数字纪日。数字纪日当在《历术甲子篇》所记载的“四分历”历法出现之后。利用四分历的“月朔旦甲子日法”才能比较准确地定出朔日及月的大小,此后数字纪日才流行开来。从存世文献看,我国以数字纪日大概当从西汉后期才开始,至魏晋才日见通行起来。楚简中尚是干支纪日,疏勒河汉简中已有数字纪日,其年代一般认为是东汉,也有人认为“疏勒纪年简上下时限为公元前98年至公元137年”[6],但也不会早于《谷梁》、《公羊》二传。孔氏家谱的“八月二十七”不大可能是于西汉前期的记载,当是后人的追记。

下面列出与孔子诞辰相关的鲁襄公21-23年历表:

夏正
周正
朔日干支
儒略日
月大小
儒略历
格里历

21.7
21.9
庚戌
1520037
30
8.20
8.14
九月庚戌,朔,日有食之

21.8
21.10
庚辰
1520067
30
9.19
9.13
庚子,夏正8月21,格里历10.3

21.9
21.11
庚戌
1520097
29
10.19
10.13

21.10
21.12
己卯
1520126
30
11.17
11.11

21.11
22.1
己酉
1520156
30
12.17
12.11

21.12
22.2
己卯
1520186
29
1.16
1.10

22.1
22.3
戊申
1520215
29
2.14
2.8

22.2
22.4
丁丑
1520244
30
3.15
3.9

22.3
22.5
丁未
1520274
29
4.14
4.8

22.4
22.6
丙子
1520303
29
5.13
5.7

22.5
22.7
乙巳
1520332
30
6.11
6.5

22.6
22.8
乙亥
1520362
29
7.11
7.5

22.7
22.9
甲辰
1520391
30
8.9
8.3

22.8
22.10
甲戌
1520421
30
9.8
9.2
庚子,夏正8月27,格里历9.28

22.9
22.11
甲辰
1520451
29
10.8
10.2

22.10
22.12
癸酉
1520480
30
11.6
10.31

22.11
23.1
癸卯
1520510
30
12.6
11.30

22.12
23.2
癸酉
1520540
503
1.5
12.30

说明:大小月系按张培瑜先生的《中国先秦史历表》转录。

注释:

[1] 《史记志疑》112页。中华书局。

[2] 见《史记注译》1407页。三秦出版社,1988年。

[3] 《文宪集》,《景印文渊阁四库全书》1224卷404页。

[4] 本公式引自Frequently Asked Questions about Calendars, Version 2.4 . Claus Tøndering。另外,http://aa.usno.navy.mil/data/docs/JulianDate.html提供儒略日与通用历日的转换,1582年10月15日之后是格里历日期,1582年10月4日之前是儒略历日期。

[5] 徐锡台:《探讨周原甲骨文中有关周初的历法问题》, 《古文字研究》第一辑,中华书局1979年版,第204页。

[6]罗见今/关守义《敦煌汉简中月朔简年代考释》。敦煌研究1998.01. 158~165
http://www.baidu.com/s?wd=%BF%D7%D7%D3%B5%C4%B5%AE%B3%BD&lm=0&si=&rn=10&ie=gb2312&ct=0&cl=3&f=1&rsp=5

1999年,江晓原先生根据《谷梁传》的记载,提出孔子诞生于公元前552年10月9日,《科技日报》1999年9月6日以《揭开孔子诞辰之谜》为题作了报道,江先生此说也见于《世界科学》2000年5期的《天文历史年代学初论》一文。值得质疑的是,江先生的推算采用的是儒略历,而不是格里历。

另一方面,传统的祭孔日期定在农历八月二十七日,据说出自孔氏家谱。孔氏家谱这一日期应该是来自是《史记》,而《史记》不及《谷梁传》可靠。不过,国民政府曾据此定夏历八月二十七日作为教师节,后来又邀请历法及考据专家把孔子诞辰换算为公历9月28日,并以这天为孔子诞辰纪念日。值得注意的是,国民政府所邀请的历法专家得出9月28日,是采用格里历推算的。

我认为在没有发现更多史料的情况下,孔子诞辰应以《谷梁传》为依据,而运用格里历推算,那么孔子诞辰合理的日期应该是公元前552年10月3日。

孔子的诞辰争论的史料

关于孔子诞辰的早期记载,见于《公羊传》、《谷梁传》和《史记》。

《公羊传》:“(鲁襄公)二十有一年,春,王正月,公如晋。夏,公至自晋。 秋,晋栾盈出奔楚。九月庚戌,朔,日有食之。冬,十月,庚辰,朔,日有食之。十有一月,庚子,孔子生。”

《谷梁传》:“(襄公)二十有一年,春,王正月,公如晋。夏,公至自晋。 秋,晋栾盈出奔楚。九月庚戌,朔,日有食之。冬,十月,庚辰,朔,日有食之。庚子,孔子生。”

《史记·孔子世家》:“鲁襄公二十二年而孔子生。”“孔子年七十三,以鲁哀公十六年四月己丑卒”。

关于《公羊传》的“十有一月,庚子”,阮元《十三经注疏校勘记》曰:“按作‘十月’者是也。考杜氏《长历》,十月庚辰小,十一月己酉大,十一月无庚子,庚子乃十月二十一日也。齐召南说。”说明前人已经认定《公羊传》有误了。

关于《史记》的“鲁襄公二十二年而孔子生”,《史记索隐》曰:“《公羊传》‘襄公二十一年十有一月庚子,孔子生’。今以为二十二年,盖以周正十一月属明年,故误也。”司马贞试图从三正的角度为调和二说。梁玉绳以之为大谬:“从来三正推法,只以后月属前月,并无以前月属后月。周正十一月第能为夏正九月,未闻倒而为夏正之正月者。”[1]

历史上,认同“襄公二十一年”的主要有贾逵、何休、刘恕、马端临、宋濂、崔述、钱大昕等,认同“襄公二十二年”的则有杜预、袁枢、郑樵、朱熹、黄宗羲、阎若璩、梁玉绳、崔适等[2],可谓旗鼓相当。

宋濂专门写了一篇《孔子生卒岁月辨》,曰:“《公羊》《谷梁》二氏传经之家也,传经之家当有讲师以次相授,且去孔子时又为甚近,其言必有据依。司马迁固良史,则后于《谷梁》《公羊》者也,吾则无征乎尔。”[3]

梁玉绳《史记志疑》则曰:“从《公》、《谷》者,《索隐》、《外纪》、《黄氏外纪》及宋濂《孔子生卒岁月辨》之类也。从《史》者杜注《左传》、《拾遗记》、《续博物志》、《古史》、《大纪》、《路史》、朱子《论语序说》、《通鉴前编》、余姚黄氏宗羲《南雷文约》之类也。”梁氏又曰:“二十一处是已酉,二十二年是庚,当从《史记》为的。其徵有三:襄二十一年日食,必非生圣人之岁,一也。《公》、《谷》皆口授,《公羊》著于汉景之刊,《谷梁》显于汉宣之代,历世既久,宁得无讹,二也。杜注哀十六年传云‘仲尼至今七十三’。《五代史冯道传》,道卒年七十三,时人皆谓与孔子同寿,则非七十四可知,三也。《困学纪闻》两存其说,以为不可考。《索隐》深悼孔子生年莫定,致寿数不明,不然矣。若生月必当从谷梁在十月,以杜《长历》推之,是年十一月无庚子,况三《传》经文于十月既书庚辰朔,则庚子在十月,倘作十一月,则一月只二十日,大不可通。且陆氏《公羊释文》曰:‘上有十月庚辰,此亦十月。一本作“十一月”,又本无此句。’是知《公羊》传写讹异,非灼然可据者。至生日必庚子无疑,不但《公羊》书之,《南齐书》臧荣绪以宣尼生庚子日,陈《五经》拜之,固确证也。综而论之,年宜依《史记》,月宜用《谷梁》,日则庚子。《路史余论》定为八月廿七日孔子生,又引《五行书》谓生庚戌年二月二十三日甲申时,斯不足辨耳。”以此为线索,我们可以看到大量的争论材料。

现在看来,梁玉绳孔子二十二年生的理由没有一条是坚实的,当然也不只是他一人,其实东汉以降诸人,无论持哪一说,均没有更多的理由。在没有更多证据的时候,以《谷梁传》为依据要合理一些。

《公羊》《谷梁》二传均有鲁襄公二十一年九月、十月频食的记载,《谷梁传》杨士勋疏曰:“据今历无有频食之理,但古或有之。”现代天文学证明,频食虽有,但鲁襄公21年即公元前552年没有,儒略历该年8月20日在曲阜可以看到一次食分达到0.7的日偏食,这一天的纪日干支恰为庚戌,这就与《公羊传》和《谷梁传》中的“九月庚戌朔,日有食之”的记载吻合,至于《公羊》《谷梁》二传所载该年十月庚辰朔日食无疑有误了。

孔子诞辰应定为10月3日

据报道,江晓原先生为了确定这次庚戌日食的公历日期,采用了“儒略日”。公元前552年发生日食的那个庚戌日的儒略日为1520037。而《谷梁传》中说庚子日孔子生,从庚戌到庚子是50天,儒略日1520037加上50天,即1520087,江先生换算后认为孔子诞生于公元前552年10月9日。

但是,问题就在这里,此处的公元前552年8月20日和10月9日均是儒略历日期,而不是格里历日期,而儒略历是有相当误差的。

我国古代用干支纪日,今人读古籍时总想知道是几月几日。儒略日也不符合人们的使用习惯,所以儒略日也存在一个转换为通用日历的问题。通用历日与儒略日的转换公式[4]是:

a = (14- month)/12

y = year + 4800 - a

m = month + 12a - 3

格里历的日期转换公式:

JD = day + (153m+2)/5 + 365y + y/4 –y/100 + y/400 –32045

儒略历的日期转换公式:

JD = day + (153m+2)/5 + 365y + y/4 – 32083

注:1.公元纪元以前的年份要改为负数,如:10 BC = -9.

2.所有除法均为整除法,余数舍去。

我们把前552年8月20日分别代入上面公式,如果是格里历则JD=1520043,如果是儒略历则 JD=1520037.

我们把前552年10月9日分别代入上面公式,如果是格里历则JD=1520093,如果是儒略历则 JD=1520087。

足以说明,江先生的前552年8月20日、前552年10月9日均是儒略历日期。如上所述,儒略历有较大误差。如果我们要纪念孔子诞辰若干周年,应该采用更精确的格里历来计算,那么孔子诞辰的儒略日1520087换算成格里历是公元前552年10月3日。

从回归年的长度来看,格里历1999年10月3日的儒略日是2451455,格里历1999年10月9日的儒略日是2451461

{1999―(―551)}*365.2422=2550*365.2422=931367.61

2451455-1520087=931368

2451461-1520087=931374

可以看出,格里历即公历1999年10月3日与孔子诞辰的儒略日1520087(格里历公元前552年10月3日,即儒略历公元前552年10月9日),相差931368天,与2550个回归年的值931367.61天相近,而格里历1999年10月9日与那一天相差931374天,比2550个回归年多出6天。那么1999年10月9日,纪念孔子诞辰2550周年是有误了。

从太阳在黄道的位置来看也是如此,取曲阜地区的平均经度117°02'、纬度35°49'计算:

儒略历公元前552年10月9日12时即格里历是公元前552年10月3日12时,儒略日1520086.67,太阳在黄经189°52'47"。

格里历公元1999年10月3日12时,儒略日2451454.67,太阳在黄经189°30'53"。

格里历公元1999年10月9日12时,儒略日2451460.67,太阳在黄经195°25'47"。

显然10月3日太阳在黄道的位置更接近189°52'47"。

夏商周断代工程中,江先生认为的牧野之战日期公元前1044年1月9日,同样是儒略历的日期,如果用格里历来计算,应该是公元前1045年12月30日,日干甲子。

农历8月27的来源

晋明帝太宁三年诏四时祀孔子。据说以后历代加增,每年的祭孔活动大小有50多次。但以春秋两次大祭为主,尤以秋祭为重。将每年的大祭定在农历八月二十七日孔子诞辰日,据说是出自出自孔氏家谱,国民政府曾据此定夏历八月二十七日作为教师节,后来又邀请历法及考据专家把它换算为公历9月28日,值得注意的换算成是9月28日采用的是格里历。下面,我们来分析农历八月二十七日是如何得来的及其可靠性:

如梁玉绳所述那样,把《史记》的“鲁襄公二十二年”和《谷梁传》的“十月庚子日”拉到一起,就是“鲁襄公二十二年十月庚子日”。再根据“三正说”把周正“十月”改为夏正“八月”,把日干“庚子”换算成数字纪日“二十七”,“鲁襄公二十二年夏正八月二十七”就出来了。

但是,《史记》仅记载“鲁襄公二十二年”,无孔子生日的干支,而《谷梁传》的“十月庚子日”是“鲁襄公二十一年”,这样把两者给合起来,显然不合理的。

从历法发展来看,战国以前是干支纪日,“二十七日”这种数字纪日不大可能是西汉前期的记载。

殷墟甲骨刻辞采用干支纪日。

徐锡台先生说:“周原甲骨文中出‘既吉’,‘既魄’,‘既死’,说明在周文王时就已用月相补充殷的干支纪日方法”。[5]而《尚书》及出土铜器铭文中大量使用既生霸、既望、既死霸来描述月相辅助纪日。夏商周工程阶段性成果倾向于“月相四分”,并归纳出西周时期置闰规律:1.西周历法采用“朔”或“朏”为月首。认识朔以前,当以“朏”为月首。2.西周历法的建正多为建子、建丑。3.西周历法一般采用年终置闰。这说明当时的历法水平还没达到“四分历”的程度。

《后汉书·律历志》贾逵论历曰:“以《太初历》考汉元尽太初元年日食二十三事,其十七得朔,四得晦,二得二日。新历七得朔,十四得晦,二得二日。以《太初历》考太初元年尽更始二年二十四事,十得晦。以新历十六得朔,七得二日,一得晦。以《太初历》考建武元年尽永元元年二十三事,五得朔,十八得晦。以新历十七得朔,三得晦,三得二日。”《汉书·五行志》:“凡汉著纪十二世,二百一十二年,日食五十三,朔十四,晦三十六,先晦一日三。”《后汉书·律历志》:“自太初元年始用《三统历》,施行百有余年,历稍后天,朔先于历,朔或在晦,月或朔见。”

从西周和两汉历法水平来看,春秋时期当不能准确预推朔日,但春秋所记载的“日有食之”均在朔日,春秋中的朔日能与日食相吻合的原因何在?我们推测,春秋时期只能大体按一个月29天有余,30天不足定出朔日来进行“告朔”,并随时根据发生的日食来调整朔日,如《说文》所云“日蚀则朔,月蚀则望”。《春秋》中与日食相关的“朔日”,并不是事前推算出来的,而是发生日食之后,把“日食”记载于日之“干支”之后,并书上“朔”,所以才有那么准确,也算是“事以系日”的内容之一吧。

朔日不定,也就无法用数字纪日。数字纪日当在《历术甲子篇》所记载的“四分历”历法出现之后。利用四分历的“月朔旦甲子日法”才能比较准确地定出朔日及月的大小,此后数字纪日才流行开来。从存世文献看,我国以数字纪日大概当从西汉后期才开始,至魏晋才日见通行起来。楚简中尚是干支纪日,疏勒河汉简中已有数字纪日,其年代一般认为是东汉,也有人认为“疏勒纪年简上下时限为公元前98年至公元137年”[6],但也不会早于《谷梁》、《公羊》二传。孔氏家谱的“八月二十七”不大可能是于西汉前期的记载,当是后人的追记。

《文汇报》上发表过一篇文章,对孔子的诞辰再次提出疑义,并且做出一个新的结论:“明年,2000年才是孔子的2550 岁”。天文学家江晓原偶然看了这一报道后,开始了自己的求证。接下来,这位刚刚运用天文学家计算方法推出武王伐纣精确日程表的科学家又以自己的科研成果再次向世人宣布:一个将天文学知识引入历史研究领域的时代从此开始了。

山重水复疑无路:典籍的矛盾记载与历法的换算困难

现今我们能见到的较早的关于孔子诞辰的记载,无非是在《春秋公羊传》、《春秋谷梁传》和《史记》当中。

《春秋公羊传》和《春秋谷梁传》,都是对儒家经典、我国第一部编年体史书《春秋》的阐释。而《春秋》相传就是孔子依据鲁国史官所编鲁国史整理修订而成,按说,由孔子亲自加工,这部经典至少在对孔子诞辰的记载上不应出现错误。然而,不知为什么,经了公羊高和谷梁赤两位先生的阐释就偏偏出现了矛盾,从而给后人留下了谜团,而且一“谜”就是两千多年。

《春秋公羊传》云:“(鲁襄公)二十有一年……九月庚戌朔,日有食之。冬十月庚辰朔……十有一月,庚子,孔子生”。

《春秋谷梁传》云:“(鲁襄公)二十有一年,……九月庚戌朔,日有食之。冬十月庚辰朔……庚子,孔子生”。

两者记载的年份虽然相同,即都是鲁襄公二十一年(公元前552年)。但前后却相差了一个月,前者为十一月,后者为十月,竟又同为庚子日。可是,鲁襄公二十一年十一月有庚子日吗?

江晓原先生说:“古代中国人从很早就用干支纪日,即用十天干与十二地支相配合,六十日一循环,甲子是这六十日循环之首。历史学家们通常都同意这样一个假定,就是中国的干支纪日几千年来从未间断过或错乱过,迄今为止也确实未出现过足以危及这一假定的证据。从干支纪日的简单排算就可以知道,九月庚戌朔,接着十月庚辰朔,接下去二十天后就是庚子,而这个庚子只能出现在十月,整个十一月根本没有、也不可能有庚子的干支,《春秋公羊传》的记载显然是错的。”这位公羊高先生为什么会闹出这样的笑话,现在已不得而知。

如此互为矛盾的记载,即使到了最重实证的大史学家司马迁那里也无可奈何。《史记·孔子世家》云:“鲁襄公二十二年(公元前551年)而孔子生”。“孔子年七十三,以鲁哀公十六年四月己丑卒”。鲁哀公十六年即公元前479年,551-479=72岁。生卒年不能吻合,忽而73岁,忽而72岁,依据哪个?

尤为不可谅解的是,另一些人又采用了随心所欲各取所需的办法,即确定年依据《史记》说,确定月日依据《春秋谷梁传》。这种不顾逻辑而随意杂交了两种互为矛盾观点的做法,很不严肃。

还有的人固执地坚持“公元前551年出生”的观点,其理论依据竟是“圣人诞生之年怎能出现日食”一类的思想,其荒唐已臻巫术之境界。写到这里,我们对一位先人产生了由衷的敬意,他就是唐人司马贞。这位学者,在对《史记》进行了全面系统的考证后,写出了颇具价值的《史记索隐》。面对《史记·孔子世家》的模糊,他老老实实地浩叹一声:“《经》、《传》生年不定,致使孔子寿数不明。”

江晓原先生既不像司马迁那样另起炉灶,也不像司马贞那样无所作为,更不像有些人那样随心所欲。他集中精力去解读《春秋古梁传》,他以“(鲁襄公)二十有一年……九月庚戌朔,日有食之。冬十月庚辰朔……庚子,孔子生”为出发点向前走,他遇到的第一个难题是:“十月庚子这一天是公历的几月几日”?这不是一个容易解决的问题,不但春秋时代历法中的正月相当于现今夏历几月目前没有定论,就是公历也只有在公元1582年罗马教皇格里高利颁布后才有效。以往的那些错误的结论,不少是因为忽视了历法的这种不统一性。比如,有一些人推出的错误的孔子生日,就是因为混用了两种历法。具体地说,他们是用格里高利颁布的公历一直往前推,可是在1582年公历还没有诞生,那之前国际上流行的一直是古罗马君王凯撒颁布的儒略历,两个历法的衔接之间有十日的跳跃。

柳暗花明又一村:典籍中有“日食”记录

江晓原先生曾在夏商周断代工程会议上说:“中国古人相信天象与地上的事件有密切联系,因此往往在发生重大事件时留下天象记录。借助历史文献中丰富的天象记录,尤其是日食、月食、行星等天象,可以推算出历史时间的精确年代,这是考古学和历史研究无法做到的。”这个创意,虽然汉朝的刘歆也曾有过,但由于他没有先进的计算机和天文软件的帮助,他只能寄希望于后来人。江晓原先生当然较刘歆幸运多了,他不但有美好的创意,而且还有成功的实践。

《春秋公羊转》、《春秋谷梁传》尽管两者在月份记录上有较大出入,但两者写了同一句话,即“日有食之”。对江晓原先生的研究来说,这是最硬的硬件。日食是非常罕见的现象,一般会出现错记、漏记的情况。尤其令人振奋的是,日食又是精确回推计算的天象,它完全可以成为解决孔子诞辰问题的科学坐标。在《春秋》242年的记载中,共记了37次日食,用现代天体力学方法回推验证,其中大部分都是真实准确的。江晓原先生和助手对鲁襄公二十一年即公元前 552年进行反复验算得出的结果都是一个,那年在曲阜可以看到一次食分达到0.77的大食分日偏食,而且出现此次日食的这一天,纪日干支恰为庚戌,这就与《春秋公羊转》和《春秋谷梁传》中的“九月庚戌朔,日食有之”的记载完全吻合。验算结果还证明,《史记·孔子世家》中说的“鲁襄公二十二”年(公元前 551年)根本没有日食。

为了确定这次庚戌日食的公历日期,江晓原先生采用了不考虑月份的记时坐标,即天文学上常用的“儒略日”。这是一种以“日”为单位单向积累的记时系统,它以公元前4713年1月1日为起算点一天一天地往下加,一天也不落。这种方法与我国古代连续不断的纪日干支系统实际上有异曲同工之妙。公元前 552年发生日食的那个庚戌日,对应的儒略日为1520037。而儒略日与公历的对应是早已明确解决了的问题,接下来的结果不能不让人眼睛发亮,原来与儒略日1520037对应的公历日子是公元前552年8月20日。经得起检验的《春秋谷梁传》中说:“(鲁襄公)二十有一年……九月庚戌朔,日食有之,庚子,孔子生。”江晓原先生据此又进行推算,他按干支顺序往后推,从鲁襄公二十一年九月庚戌朔推到这年十月庚子恰好是50天,从8月20日后推50天,即是这一年的10月9日。而儒略日1520037加上50天,即1520087,与这一天相对应的公历正是公元前552年10月9日。

最先进的天文“核武器”精确验证谜底:孔子诞生于公元前552年10月9日

江晓原先生和他领导的课题组,掌握着国际天文学界最先进的“核武器”,其中之一是“长时段行星历表DE404”。它的时间跨度为公元前 3000年———公元3000年。它不但吸收了雷达、射电、VLBI(甚长基线干涉)、宇宙飞船、激光测月等高新技术所获得的最新观测数据,而且在力学模型上还能保证积分初始值的精确性和理论的先进性,其误差为行星每世纪在百分之一角秒量级。这样的误差对孔子诞辰问题所涉及的计算来说,已完全不必考虑;另外他们还有目前最先进的天象演示软件,它能够在给定观测时间、观测地点之经纬度后,立即演示出此时此地的实际星空,包括恒星、太阳、月亮、各行星、彗星乃至星云等几乎所有天体的精确位置。

江晓原先生把对孔子诞辰的推算结果输入这两个电脑软件中进行验证,得出的竟是令人惊喜的一致:孔子诞生于公元前552年10月9日,卒于公元前479年3月9日,享年73岁。今年2005年10月9日正是其2556大寿(2005+(552-1)=2556,没有公元0年,故减1)这项科研成果一公布,立即在海内外引起强烈反应。目前,香港孔教学院已正式向江晓原先生发出邀请,希望他能应邀前去参加今年十月举行的孔子诞辰2550周年庆典及国际学术研讨会,向那里的人们报告他的研究成果。

江晓原先生在电脑上给记者调出了公元前552年8月20日曲阜所能见到的日食天象演示图:浩瀚的苍穹里,太阳也被月球遮去了大半,一切喧嚣似乎都已沉寂了下去,只剩肃穆和神秘,仿佛在期待什么。

又过了50天,城南耳邓邑那个大力士叔梁纥家传出了婴儿的啼哭,当时的曲阜人谁能想得到那竟是一个圣人的啼哭呢?

不错,公元前552年10月9日那天诞生了一个圣人。

就是根据历史记载啊,诞辰2556周年即是从他出生那一年开始算的,他出生于公元前551年。也就是2005加551了。

《春秋公羊传》云:“(鲁襄公)二十有一年……九月庚戌朔,日有食之。冬十月庚辰朔……十有一月,庚子,孔子生”。

《春秋谷梁传》云:“(鲁襄公)二十有一年,……九月庚戌朔,日有食之。冬十月庚辰朔……庚子,孔子生”。

两者记载的年份虽然相同,即都是鲁襄公二十一年(公元前552年)。但前后却相差了一个月,前者为十一月,后者为十月,竟又同为庚子日。可是,鲁襄公二十一年十一月有庚子日吗?