转自www.shc2000.com

以天文学方法重现武王伐纣之准确年代及日程表

江晓原 钮卫星

 

  依据早期史籍中关于武王伐纣时的各种天象记载,以天文学方法来求解武王伐纣之准确年代,并设法重现武王伐纣时之日程表,是一件相当复杂的工作。在完成这一工作的过程中,我们设计了几种不同的方案。非常令人惊异的是:这几种方案所得的结果,全都导向一个完全相同的结论!本文就是上述方案之一。[1]

 

一 意义与难点

  武王伐纣之年,正是商朝结束,周朝开始。如能定出武王伐纣之确切年代,就可以根据文献和考古材料所记载商、周各有多少王,各王在位多少年等资料推算出一个年表。所以武王伐纣的年代问题,是判断商、周年代至关重要的一个点。
  考定武王伐纣之年,又是一个非常典型的历史年代学课题。由于传世的有关史料比较丰富但又不够确定,使得这一课题涉及到文献史料的考证、古代历谱的编排、古代天象的天文学推算、青铜器铭文的释读等等。这一课题为古今中外的学者提供了一个极具魅力的舞台,让他们施展考据之才,驰骋想象之力。    
  
正因为如此,这一课题研究发端之早、持续年代之长、参与学者之多,都达到了惊人的程度。最先在这一舞台上正式亮相的,或当推西汉末的刘歆,《汉书·律历志》中的“世经”篇,就是刘歆依据他自己的历法《三统历》求得的历史年代学成果。进入20世纪,加入研究武王伐纣之年队伍的不仅有中国学者,还有日本、欧洲和美国的学者。研究者在中外各种学术刊物上发表了大量论著。有的学者还随着研究的不断深入,先后提出过不止一种结论。然而如此之多的学者研究了两千余年,武王伐纣之年还一直未有定论。  
  由于天人感应的思想观念在古代中国源远流长,改朝换代、人间治乱等等都被认为与某些特殊天象有直接关系,[2]因此许多历史事件的记载中往往包括了事件前后所出现的某些特殊天象记录。象武王伐纣这样的重大历史事件,自不例外。《国语·周语》、《淮南子·兵略训》等古籍在论及武王伐纣时,都有当时一些特殊天象的记录,但是这些古籍,成书年代都要比武王伐纣晚很多,比如《国语》成书于战国,《淮南子》成书于西汉,都不是当时的记录。这样就使得史籍中关于武王伐纣时的天象记载,本身还有真伪难辨的问题。  
  史籍所载武王伐纣时的特殊天象,成为现代学者探索伐纣之年的重要途径。因为应用现代天文学中的天体力学方法,天文学家已经能够对几千年前的许多天象进行回推计算。如日食、月食、行星位置、周期彗星等等,从理论上说,都可以根据
史籍中的记载,推算出此天象发生于何年何月何日,甚至精确到几时几分几秒。由此即可推得武王伐纣之年究竟是哪一年。

 

 二、前贤之研究

  古今中外研究者所推得的伐纣之年,大相径庭。据目前所见材料,截止于199751日,已经发表的关于武王伐纣之年的研究论著至少已达106种,提出了多达44种不同的伐纣之年。[3]表1以简表形式给出一览:

144种武王克商之年 

序号

克商之年(公元前)

提出者及支持者

1

1130

林春溥

2

1127

谢元震

3

1123

胡厚宣

4

1122

刘歆、邵雍、刘恕、郑樵、金履祥、马端临、吴其昌、岛邦男

5

1118

成家彻郎

6

1117

胡厚宣

7

1116

皇甫谧

8

1112

刘朝阳

9

1111

一行、董作宾、严 一萍、郑天杰

10

1106

张汝舟、张闻玉

11

1105

马承源

12

1102

黎东方

13

1093

葛真

14

1088

水野清一

15

1087

白川静

16

1078

胡厚宣

17

1076

丁骕

18

1075

唐兰、刘启益

19

1071

李仲操

20

1070

“殷历家”、邹伯齐、李仲操、张政烺、刘启益

21

1067

姚文田

22

1066

姚文田、新城新藏

23

1065

姚文田、哈特纳(W.Hartner)、白光琦

24

1063

山田统

25

1059

彭瓞钧

26

1057

朱右曾、张钰哲、葛真、赵光贤、张培瑜

27

1055

章鸿钊、荣孟源

28

1051

高木森、姜文奎

29

1050

李兆洛、叶慈(W.P.Yetts

30

1049

王保德

31

1047

林春溥

32

1046

班大为(D.W.Pankenier

33

1045

倪德卫(D.S.Nivison)、夏含夷、周法高、赵光贤

34

1044

李丕基

35

1041

吉德炜(Keightley

36

1040

倪德卫、周文康

37

1039

何幼琦

38

1035

萧子显

39

1030

丁山、方善柱、周流溪

40

1029

黄宝权

41

1027

梁启超、雷海宗、莫非斯、陈梦家、高本汉、屈万里、何炳棣

42

1026

劳干

43

1024

平势隆郎

44

1018

周法高

我们对此进行了全面考察。上表各家之说,大体可分为如下几类:
▲ 依据《竹书纪年》中王年记载及《史记·鲁世家》中之鲁公纪年以推算者。
  《竹书纪年》晚出伐纣之后千年,当时出土、整理的情况如今也难知其详,干脆不信,也不算毫无道理。诚如吉德炜所说:

  首先,不能断定257年的记载是《竹书纪年》的原始记录,还是后人的注释。第二,我们不能断定这条资料是否流传准确。第三,我们不能肯定257年是到幽王元年,还是到幽王末年。……第四(也是最重要的),我们无法证明《纪年》的作者(们)见过据精确的西周记载中推衍出来的年表。
[4]
但有些学者又很希望所定伐纣之年能够与这些王年记载相合,遂有不同释义以及怀疑文字有误而作改动之论。不过这种改动的根据也大成问题。至于鲁公纪年,本身就有调节的余地。
▲ 考虑到《武成》历日、月相及历谱者。
  《武成》篇之伐纣历日记载,因其中甲子日克商之说得到利簋铭文证实,可信度较大。刘歆等古代学者解决伐纣之年的主要方法,就是从排算历谱入手。不过由于古代历法不够精密,排算结果当然未尽可信。
  现代学者则在《武成》及《世俘》中月相术语的理解上出现了巨大分歧,“四分”、“两分”等说聚讼不已。以此解读《武成》、《世俘》,自然言人人殊,难以取得确切结果。况且仅靠推排历谱本来就难以确定伐纣之年。
▲ 利用天象以推算伐纣之年者。
  前贤研究中已有多次此种尝试,但因未能对
所有有关的天象记载进行全面考察及甄别(在计算机尚未发展、普及如今日时,此种考察及甄别实际上几乎无法进行),故常见各执一端之情形。
  首先,能够回推计算的天象必为周期天象,而周期天象必然会有多重解,比如“岁在鹑火”每
12年就会出现一次,而“日在析木之津”则每年都会出现一次,等等。在计算机尚未发展、普及的年代,学者们通常只能对某种天象求取某一次或若干次特定的解,而无法对所有有关天象进行长时段的(比如说100年)、全面的回推、排比和筛选──理论上虽然可能知道如此做的必要,但实际上是人力不可能胜任的。因此前贤多在通过其他手段获得一个假设的伐纣之年后,再用某种天象记录来作为旁证,而由于天象的周期性,这样的旁证很容易获得。这就是为什么同一个天象会被不同的学者用来支持不同的伐纣之年。
  其次,前贤普遍将目光集中在“岁在鹑火”、“五星聚”、彗星出现等引人注目的天象上,结果反而忽略了对定年特别有用的天象。

  再次,没有计算机的帮助,没有先进的现代天象演示软件,某些天象的特殊性很难被明确揭示出来。

 

三、处理天象记载之基本原则

  本文将全面考察与武王伐纣有关的天象记录,再采用国际天文学界最先进的长时段星历表数据库及计算软件,逐一对这些天象记录进行回推检验,然后决定对这些天象的取舍。为此先要确定处理天象记载的两条基本原则。
  一、假定干支纪日从商、周时代直至今日始终连续,且无错乱。
  二、我们的任务,是运用现代天文学方法,对所有武王伐纣时的天象记载进行全面计算检验,从而:
  甲、判断可能的天象:在前后约百余年间(各家伐纣之年所分布的极限范围)的时段内,这些天象记载中哪些确实可能发生?
  乙、判断可用天象:在上述时段内可能发生的天象中,哪些可以用来确定伐纣之年?
  丙、定年:利用可用的天象,筛选出可信的伐纣之年。
  下文所述
16项天象记载中,除第一项可认为是伐纣当时留下的记载之外,其余皆为后世所传。虽有个别学者曾怀疑某些记载系后人伪作,但并无足够的证据。而天文学的计算检验能够辨别这些天象记载之真伪。

 

四、关于回推计算及演示天象所使用之天文学软件

  在对上述天象进行检验计算,以及此后的回推、筛选计算中,行星、月球历表为必需之物,1963年斯塔曼(Stahlman)曾用分析方法算出太阳和行星公元前2000年~公元2000年间的位置表,以供天文史研究之用。但该表精度不甚高,而且使用不便,所以有的学者干脆自己用天体力学方法回推,并且都号称自己的方法最精确。由于他们的源程序通常都秘不示人,其他人无从比较其优劣。
  而在美国,著名的喷气推进实验室(
JPL)之斯坦迪士(Standnish)等人,长期致力于行星和月球历表的研究工作,他们用数值积分方法,结合最新的理论模型和观测结果,研制出了与各个时期的科学水平相适应的系列星历表,并无偿提供给全世界学者使用(目前DE系列的星历表是国际天文学界使用最多的星历表)。八十年代他们制作了长时间跨度的行星历表DE102 ,在国际上得到广泛使用──但不知何故,国内天文史专家不用。最近,斯坦迪士等人又研制了时间跨度更长的行星历表 DE404(公元前3000年~公元3000年),它不但吸收了雷达、射电、VLBI(甚长基线干涉)、宇宙飞船、激光测月等等高新技术所获得的最新观测数据,而且在力学模型上有所改进,保证了积分初始值的精确性和理论的先进性。并且在积分过程中,不但与历史上的观测记录进行了比较,而且同时对比了纯粹用分析方法所的结果。这样就进一步保证了星历表的稳定性和可靠性。[5] 
  经我们与斯坦迪士本人联系,他将全套
DE404软件无偿提供给我们使用。这也可以看作国际天文学界对我们研究工作的支持。
  另一个比较重要的软件是
Skymap3.2,这是一个非常先进的天象演示软件,能够在给定观测时间、观测地点之经纬度后,立即演示出此时此地的实际星空,包括恒星、太阳、月亮、各行星、彗星乃至河外星云等几乎所有天体的精确位置。我们用DE404检验了该软件的精度,发现在前推3000余年时,其误差仍仅在角秒量级,这对本专题的研究来说已经绰绰有余。[6]

 

五、史籍中伐纣天象之记载及考察

  史籍中武王伐纣有关天象及日期记载,共有如下16项,我们逐条讨论∶
 
  1、利簋铭文∶
    武王征商,佳甲子朝,岁鼎克昏,夙有商。

  可信。指明克商之朝为甲子,其时(例如此日凌晨)在牧野见到“岁鼎”──即木星上中天。[7] 因属必然会发生之的天象,无需检验。克商之日的天象中,上述两点都应被满足。

    2
、《汉书·律历志下》引《尚书·周书·武成》∶

    惟一月壬辰,旁死霸,若翌日癸巳,武王乃朝步自周,于征伐纣。
    粤若来三(当作二)月,既死霸,粤五日甲子,咸刘商王纣。
    惟四月既旁生霸,粤六日庚戌,武王燎于周庙。翌日辛亥,祀于天位。粤五日乙卯,乃以庶国祀馘于周庙。

    3 《逸周书卷四·世俘解第四十》∶
    惟一月丙午旁生魄(一说应作“壬辰旁死魄”,依据2,下同),若翼日丁未(一说应作“癸巳”),王乃步自于周,征伐商王纣。越若来二月既死魄,越五日甲子朝,至,接于商。则咸刘商王纣。

  可信。历日,无需检验,重现的克商日程,应满足其中的干支、月相及历日。关于此两条记载中月相术语之解读,采用李学勤先生最新研究成果:依文义只能取定点说。
[8]
  前人常认为《武成》“惟一月壬辰,旁死霸,若翌日癸巳,武王乃朝步自周,于征伐纣”,以及《世俘》“惟一月丙午旁生魄,若翼日丁未,王乃步自于周,征伐商王纣”两条记载矛盾,一直是据《武成》以改《世俘》,而未见为这样改动提供足够的根据。
  根据我们的研究,从壬辰到丙午正好半个朔望月,这两条记载的月相和历日干支是完全自洽的,我们可以给出一个新的解释:将《武成》“武
王乃朝步自周”释为“武王自周地出发”(注意:周师已经先期出发),将《世俘》“王乃步自于周”释为“武王从周地来到军中”。武王于一月壬辰旁死魄之次日从周地出发,至一月丙午旁生魄的次日与大部队会合。这样的解释合情合理,又不必改动文献,就可使《武成》、《世俘》两者同时畅然可通,应该是更可取的。
 
  4、《国语·周语下》伶州鸠对周景王∶

     昔武王伐殷,岁在鹑火,月在天驷,日在析木之津,辰在斗柄,星在天鼋,星与日辰之位皆在北维。
  此条特别重要,我们已在另文中作了详细考证,
[1] 此处仅述其结论:

  这一组天象实际上是按照伐纣战役进程中真实天象发生的先后顺序来记载的,可以说是武王伐纣时留下的天象实录。
  “岁在鹑火”历来极受各家注意,但这条记录的可靠性实际上大成问题。我们用
DE404对《左传》、《国语》中有明确年代的岁星天象记载共9项进行回推计算,发现竟无一吻合!这是无可置疑的事实,而其原因,则尚待解释。[9] 但至少已经可以看出,用“岁在鹑火”作为确定伐纣之年的依据,是不可靠的。所以在下面的工作中,我们先不使用“岁在鹑火”──但考虑到伶州鸠所述天象的特殊性,不妨用作为辅助性的参证。
  “日在析木之津”表示太阳黄经当时在
223°~249°之间。
  “月在天驷”,“天驷”,星名,可指中国古代的“天驷”星官,由包括天蝎座π星(
Scoπ,正是二十八宿中房宿的距星)在内的四颗黄经几乎完全相等、与黄道成垂直排列的恒星组成,古人将之比附驾车之四匹马。
  “辰在斗柄”:指日、月在南斗(斗宿)合朔。
  “星在天鼋”:意为“水星在玄枵之次”。
  “星与辰之位皆在北维”:当太阳和水星到达玄枵之次时,它们就是在女、虚、危诸宿间,这些宿皆属北方七宿,此即“北维”之意。

    5
、《淮南子·兵略训》∶

    武王伐纣,东面而迎岁,……,彗星出而授殷人其柄。

  我们最近的研究已经证明:彗星天象是无法用于确定武王伐纣之年的。[10]
  关于东面而迎岁,须稍作辨析:木星总是从东面升起,一年中许多日子皆可见到它东升。关键在“迎”字──迎是一个动作。武王的军队从周地出发,基本上是向正东方向行进,只有他们在
清晨进军路上恰好见到木星出现在东方(这就不是经常可见的了),这才能称为“东面而迎岁”,也才值得专门记录下来,流传后世。
    6
、《荀子·儒效》∶

    武王之诛纣也,行之日以兵忌,东面而迎太岁,……。

  太岁是人为定义的假想天体,匀速绕周天运行,方向与岁星相反。殷末周初是否已有此种假想天体之定义,大可怀疑。故本条仅可作定年时辅助参考之用。
    7
、《今本竹书纪年》卷下∶

    (文王时)孟春六旬,五纬聚房。

    8、《新论》(严可均辑本)

    甲子,日月若合璧,五星若连珠,昧爽,武王朝至于商郊牧野,从天以讨纣,故兵不血刃而定天下。

    9、《太平御览》引《春秋纬·元命苞》∶

    殷纣之时,五星聚于房。

10、《今本竹书纪年》卷上:

  (帝辛)三十二年,五星聚于房。有赤乌集于周社。……(帝辛)三十三年,王锡命西伯,得专征伐。

  “五纬聚房”是否能在本文所考虑的时间段内出现,需要检验。
  房宿的距星(巧得很,正是天驷!)在我们所考虑的时间段中,黄经(因岁差而有微小移动)在
199.63°~201.03°之间,房宿本身的跨度又非常小(不足5°!)。我们用DE404计算该时间段中的所有五星聚,发现只有一次可以非常勉强地谓之“聚于房”(公元前1019829日~925日,五星先后出现于角、亢、氐、房、心、尾等六宿)。
  此外,五星聚还有两个问题:一是定义问题,五大行星究竟要聚在多小的范围中才算是“五星聚”?现今找到的古籍中的定义都是伐纣千年以后的,我们不知道武王伐纣时代天学家是用什么定义
----如果他们真的记载过“五纬聚房”的话。其二,从后世史籍所见此类天象与人间事变的对应来看,前后出入两三年乃至五六年都可。也就是说,只要在伐纣之前或之后三、五年内出现“五纬聚房”,武王伐纣都可被作为它的“事应”。考虑到这一层,五星聚对确定伐纣之年的权重就非常之小了。故在后面的工作中我们不使用“五纬聚房”。
 
  11、《逸周书·小开解》∶

      维三十有五祀,(文) 王念曰∶多□,正月丙子拜望,食无时。

  本条中“维三十有五祀王念曰”,有谓“三”字为“王”字之误者;有谓“王念曰”之王为文王或武王者(理解为文王较可从);且“食无时”是否能解释为月蚀,大有疑问。更合理的解释应是“未按时进食”。故本条难以用来定年。
12
、《旧唐书·礼仪志一》长孙无忌等奏议引《六韬》曰

  武王伐纣,雪深丈余。五车二马,行无辙迹,诣营求谒,武王怪而问焉,太公对曰:此必五方之神,来受事耳。遂以其名召入,各以其职命焉。既而克殷,风调雨顺。

13、《周书·刘璠传》载刘《雪赋》:

  庚辰有七尺之厚,甲子有一丈之深。

  有助于表明武王克商时在冬季。这一点实际上“日在析木之津”一致。
14
、《尸子》卷下:

  武王伐纣,鱼辛谏曰:岁在北方不北征。武王不从。

  “岁在北方”含义不明,更何况武王克商无论如何不是“北伐”而是东征。
15
、《周书·泰誓》序:

  惟十有一年武王伐殷,一月戊午师渡孟津,作《泰誓》三篇。

16、《史记·周本纪》:

  十一年十二月戊午,师毕渡孟津,……武王乃作《泰誓》,……。

  提供了周师渡过孟津的日干支。

 

六、武王伐纣日程表需要满足的七项条件

  根据上面对史籍中伐纣天象记录的逐项讨论,我们可以明确知道,仅仅从天文学计算出发,重建的武王伐纣日程表应该同时满足如下七项条件:
  
1、克商之日的日干支为甲子。──据利簋铭文
  
2、克商之日的清晨应有岁星当头的天象。──据利簋铭文
  
3、周师出发时应能在当地东方见到岁星。──据《淮南子·兵略训》及《荀子·儒效》
  
4、在周师出发前后、应有“月在天驷”和“日在析木之津”的天象(对“月在天驷”的定义见上文的讨论)。──据《国语》伶州鸠对周景王所述伐纣天象及《三统历·世经》中的有关讨论
  
5、从周师出发到克商之间应有一段日子,这段日子的长度应使得周师从周地出发行进至牧野有合乎常理的时间。──据《武成》与《世俘》所记历日及《三统历·世经》中的有关讨论  
  
6、在周师出发后、甲子日克商前,应有两次朔发生,第一次日干支为辛卯或壬辰;第二次则约在克商前五日,日干支为庚申或辛酉(考虑周初对朔的确定有误差)。──据《武成》与《世俘》所记历日
  
7、在武王伐纣的过程中,应能见到“星在天鼋”的天象。──据《国语》伶州鸠对周景王所述伐纣天象

 

七、推算筛选伐纣日程之过程及结果

★ 第一步:
  先从“月在天驷”和“日在析木之津”入手:设定:
  (
1)太阳黄经在215°~255°范围内(比析木之津略宽)
  (
2)月球黄经在天驷四星(该四星黄经在公元前1050年左右都在200°~201°之间)前后±15°之间(明显比“月在天驷”宽泛)
  (
3)月球黄纬不限 [11]
  计算本文所考虑的时间段内,所有满足“日在析木之津,月在天驷”的日期(其中有一年两个的情况)。对有连续二、三日满足“日在析木之津,月在天驷”的情况,较靠近取其中月亮近天驷之日(所有位置都指当天世界时
0时的位置,具体讨论时,月黄经需增加一个与时差改正相应的量,约3. 5°左右)。结果共有145个。这145个日子附近,皆有可能是周师出发的时间。
★ 第二步:
  寻找“日在析木之津,月在天驷”日期之后日干支为甲子的日期。要求“日在析木之津,月在天驷”之日和甲子日之间相隔合理的天数。然后计算这些甲子日的月龄──距离前一个定朔的日序,然后根据《武成》推算既死魄的日序(在此过程中,两个“师初发”日期有时只对应一个合适的甲子日)。
  从对月相名词最自然的理解出发,首先可以认定:
初三至十六不可能为既死魄定点日,故按《武成》历日,克商之甲子日不会在初七到二十之间。删除不合部分(甲子日重复的日期取其中适当的一组)。此时可选的日子已经减少为59个。
★ 第三步:
  利用两种岁星天象进行筛选。一、“日在析木之津,月在天驷”之日及此后若干日能否见到“东面而迎岁”;二、甲子日岁星上中天的情况:是否在白天,是否在日出前。这样即可作进一步筛选:删除:(
1)在“师初发”前后不能在早晨东方天空见到岁星的日子;(2)“克商”之甲子日,岁星上中天时间在日出之后(看不见)和半夜之前(属前一天)的日子,结果还剩18项。
★ 第
4步:
  天象综合检验:考察月与天驷四星的位置关系、“月在天驷”发生的时间、“岁鼎”时岁星的地平高度、其它亮天体的情况,等等,可得表
2

表2 天象综合检验结果

 

序号

事件

克商历日

检验结果

 

1

师初发

-1091

12

13

 

勉强可取

 

克商

-1090

1

16

初一

2

师初发

-1081

11

24

 

勉强可取

 

克商

-1080

1

24

二十九

3

师初发

-1080

12

10

 

勉强可取

 

克商

-1079

1

18

初五

4

师初发

-1056

11

18

 

勉强可取

 

克商

-1055

1

12

二十四

5

师初发

-1045

11

16

 

勉强可取

 

克商

-1044

1

15

二十八

6

师初发

-1044

12

3

 

可取

 

克商

-1043

1

9

初四

7

师初发

-1020

12

8

 

可取

 

克商

-1019

3

4

二十四

 值得特别强调的是,到此时为止,可选的日期只剩下了七组,真正可取的只剩下了两组,而我们还未对月相作过任何定义!我们只是排除了既死魄定点在初三至十六的可能性──而这一点是月相争议各家都无异议的。
★ 第
5步:
  现在我们可以针对表
2的结果,很方便地讨论可采取的月相定义。
  表
2的七组日期中,甲子日的历日可分为三种情况:
  甲:公元前
1056年和1020年,甲子日为二十四日。对应的既死魄定点日在二十日;
  乙:公元前
1045年、1081年和1091年,甲子日分别为二十八、二十九和初一。既死魄可定在二十五日,允许前后移一日;
  丙:公元前
1044年和1080年,甲子日为初四和初五。既死魄定在晦日或朔日,即不见月之日。
  在周师出发后、甲子日克商前,应有两次朔发生,第一次日干支为辛卯或壬辰;第二次则约在克商前五日左右,日干支为庚申或辛酉(考虑周初对朔的确定有一日之误差)。因此出师之后十余日即遇日干支为甲子,则该日即应排除,因为在此十余日内不可能有《武成》所记载的两次朔发生;若考虑下一个甲子,则从出师至克商长达七十余日,又与《武成》所载不合。[12] 又,出师之后的两次朔,其日干支不是《武成》所要求的辛卯或壬辰及庚申或辛酉,则该日亦应排除,因为显然与《武成》历日不合。
  以表
27组日期,按《武成》历日进行具体的日程编排,立刻可以发现:
  第
1组:“一月壬辰旁死霸”与“一月戊午师渡孟津”分在两个月里,甲子为三月朔日。不可取。
  第
2组与第4、第5组:“一月壬辰旁死霸”与“一月戊午师渡孟津”分在两个月里。“师初发”与“武王乃朝步自周”相隔时间太长,不合情理。
  第
7组:“一月壬辰旁死霸”与“一月戊午师渡孟津”分在两个月里。从“师初发”到“克商”长达87天,从“师初发”与“武王乃朝步自周”相隔时间也太长,不合情理。
  只有第
3、第6两组才能排列出合理的伐纣日程。从而证明:
  《武成》月相名词“既死霸”只有解释成为晦或朔时不见月之日才合理。

  而就这两组日期来说,公元前
1080118日甲子日“岁鼎”时间偏早。只有第6组:公元前1045年12月3日(或4日及附近日子)武王出师,公元前1044年1月9日甲子日克商──此日“岁鼎”时间为4:55,紧扣《利簋》铭文“甲子朝岁鼎”的记载,成为唯一可取的日期。

 

八、对筛选结果的进一步验算

  ▲ 试将上述这组日子输入SkyMap3.2进行演示,发现:
  公元前
1045123日清晨530分,从西安向正东方天空观测,可以见到一钩残月恰位于天驷正上方,这是非常理想的“月在天驷”天象。特别值得注意的是,这一天象只能持续约3个多小时。在凌晨3点时,月与天驷尚未升上地平线,因而不可见,而到6点时天已亮,此后群星自然又不可见。   
  《国语》中伶州鸠对周景王论此事云:“月之所在,辰马农祥也。我太祖后稷之所经纬也,王欲合是五位三所而用之。”天驷即房星,是“农祥”,而后稷是周人的祖先,则天驷此星对周人来说应该有些不同寻常。[13]我们甚至还可以猜想:周人在这天清晨,面对此罕见的“月在天驷”天象,可能还举行了某种不常举行的仪式,是以故老相传,而有此“月在天驷”之记载
.
  ▲ 再来对“
东面迎岁”、“岁鼎”进行检验:
  前述七项条件中,第
3项要求周师出发时应能在当地东方见到岁星;第2项要求在克商的甲子日清晨可以见到岁星当头的天象。要检验这两项,使用SkyMap3.2极为方便,下面讨论其结果:
  公元前
1045123日,在西安当地时间清晨530分,向正东方向,可见木星此时正出现于东方非常显著的位置,地平高度达50余度,非常有利于观测。
  我们定周师在
124日出发,实际上周师在此前或此后若干天内出发,每天清晨都可以在东方天空见到岁星。
  公元前
104419日,也就是甲子克商之日,在牧野当地时间清晨455分时,向正东方向见到木星上中天,地平高度约60°,正是不折不扣的岁星当头天象,即“岁鼎”。
  ▲ 再用
DE404,对水星及有关天象进行计算:
  “天鼋”即玄枵之次,在武王伐纣时代位置约在黄经
278°~306°之间。我们的计算表明:
  公元前
1045年从1221日起,水星进入玄枵之次,此时它与太阳距角达到18°以上。按照中国古代的经验公式,上述距角超过17°时,水星即可被观测到。事实也是如此。此时水星作为“在天鼋”之昏星,至少有5天可以在日落后被观测到。更奇妙的是,在甲子克商之后,从公元前104424日起,直至24日,水星再次处于玄枵之次,而且其距角达到19.99°~27.43°之多,几乎达到其大距之极限。此时水星成为“在天鼋”之晨星,更容易观测,有20天可以在日出前被观测到。
  至此我们实际上已经得到了满足前述全部七项条件的武王伐纣日程表。然而在给出这一日程表之前,我们还要再次考察“岁在鹑火”问题。
  伶州鸠对周景王所说的伐纣天象中,实际上包括四条独立的信息:岁在鹑火、月在天驷、日在析木之津、星在天鼋。后三条经过上面的推算及多重验证,表明它们皆能与《武成》、《世俘》、利簋铭文等相合,可见伶州鸠之说相当可信。那么“岁在鹑火”一条何以就偏偏不可信?
  先让我们考察当时岁星的位置:从周师出发到甲子克商,岁星黄经约在
168°~170°之间,这是在那个时代的寿星之次(这当然只是表示回推计算的结果,那时未必有十二次的概念),确实与“岁在鹑火”不合。
  然而这个问题并非无法解决!“武王伐纣”是一个时间段的概念。它应有广、狭二义。就狭义言之,可以认为是从周师出发到甲子克商;若取广义言之,则可视为一个长达两年多的过程。例如:

  九年,武王上祭于毕,东观兵,至于盟津。……是时,诸侯不期而会盟津者八百诸侯,诸侯皆曰:纣可伐矣!武王曰:女未知天命,未可也,乃还师归。居二年,闻纣昏乱暴虐滋甚,……。(《史记·周本纪》)

在牧野之战的前二年,武王已经进行了一次军事示威,表明了反叛的姿态,这可以视为伶州鸠所说的“武王伐殷”的开始。八百诸侯会孟津的这一年,按照我们推算的伐纣年代,应该是公元前1047年。用DE404计算的结果,这一年中岁星的运行范围在黄经68°~107°之间,下半年的大部分时间它都在鹑火之次!
  
因此我们完全有理由认为,伶州鸠所说的“昔武王伐殷岁在鹑火”也是正确的。

 

九、最终结论

  至此,我们已经完成了对武王伐纣年份的确定,并且重建了伐纣日程表:

3:武王伐纣天象与历史事件一览表

 

公历日期

(公元前)

干支

天象

天象记载之出处

事件

事件记载

之出处

1047

岁在鹑火(持续了约半年)

国语

孟津之会,伐纣之始

史记周本纪

1045.12.3.

丁亥

月在天驷

日在析木之津

国语

 

 

1045.12.4.

戊子

东面而迎岁(此后多日皆如此)

淮南子

周师出发

三统历世经

1045.12.7.

辛卯

武成

 

 

1045.12.9.

癸巳

 

 

武王乃朝步自周

武成

1045.12.21.

乙巳

星在天鼋(此后可见5日)

国语

 

 

1045.12.22.

丙午

望(旁生魄)

世俘

 

 

1044.1.3.

戊午

 

 

师渡孟津

史记周本纪

1044.1.5.

庚申

既死霸

武成

 

 

1044.1.6.

辛酉

 

 

 

1044.1.9.

甲子

岁鼎

利簋铭文

牧野之战,克商

 

利簋铭文

武成

世俘

1044.2.4.

庚寅

朔。星在天鼋(此后可见20日)

国语

 

 

1044.2.19.

乙巳

望(既旁生霸)

武成

 

 

1044.2.24.

庚戌

 

 

武王燎于周庙

武成

1044.3.1.

乙卯

 

 

乃以庶国祀馘于周庙

武成

             

 在经过非常复杂、也可以说是非常苛刻的验算和筛选之后,而且是在完全不考虑考古学、甲骨学、碳14测年等方面结果的条件之下,发现《武成》、《世俘》、利簋铭文、《国语》伶州鸠对周景王等等文献竟然真能相互对应,而且能够从中建立起唯一的一个伐纣日程表(这是严格筛选出来的最优结果),唯一合理的解释只能是:古人流传下来的这一系列天象记载确实是真实的!

 

 

[1]  另一个即将发表的方案是:江晓原、钮卫星:《国语》所载武王伐纣天象及其年代与日程,《自然科学史研究》18卷4期(1999)。 
[2]  关于这一问题可参见江晓原:《天学真原》,辽宁教育出版社,1991,第三章。
[3]  北京师范大学国学研究所编:《武王克商之年研究》,北京师范大学出版社,1997。
[4] 吉德炜:晚商的绝对年代,《武王克商之年研究》,页507~512。
[5]  DE404精度极高,其误差估计:行星每世纪在百分之一角秒量级,月球在一角秒量级。这样的误差对于本课题所涉及的计算来说,已经完全不必考虑。
[6]  DE404软件给出的结果是历书时,考虑到地球自转速度的长期变化,为在准确时间上重现历史天象还需要做一个修正,在距今3000年时,这一修正的结果是一个将近8小时的量。我们给出的结果已经考虑了这项修正。SkyMap3.2软件和后面用到的Fred Espenak的交蚀表则在其给出的结果中都已经考虑了这项修正。
[7] “上中天”指天体运行到当地子午线上,或者说在正南方达到最大地平高度。太阳上中天时就是当地正午。关于利簋铭文,这里必须提到李学勤先生在1998年12月20日撰写的一篇文章《利簋铭与岁星》(提要),指出张政烺在1978年第1期《考古》上发表的《利簋释文》一文,最先提出利簋铭文中的“岁”应释为岁星, 李先生认为认为:“张政烺先生首倡的这一说法,能照顾铭文全体,又可与文献参照,应该是最可取的。”
[8] 李学勤:《尚书》与《逸周书》中的月相,《中国文化研究》98年2期(夏季号)。
[9] 前贤已经注意到这个问题,如新城新藏就试图对此事实给出一种解释,他从《左传》、《国语》中若干次有关岁星记载的年代向后推算,假定人们是认定岁星正好12年一周天,则可推算出一个年份,即公元前376年,认为这是《左传》、《国语》中有关岁星天象的起算年代,见新城新藏:《东洋天文学史研究》,中华学艺社,1933,页391~392。但其说并不能解释《左传》、《国语》中所有有明确年代的岁星天象记载,况且公元前376年这一起算点从何而来也难以说明。
[10] 关于彗星记录不可用于确定武王伐纣之年的问题,已经由卢仙文博士作了全面研究。他的博士论文《中国古代彗星记录研究》(博士导师:江晓原),于1998年7月以优异成绩在中国科学院上海天文台通过答辩。
[11] 以天驷四星中的天蝎座π星为例:该星在公元前1050年左右时,黄经为200.74°,黄纬则为-5.09°;而月球运动偏离黄道的极限约为5.5°。故如取月黄纬小于4.5°,则有1°之变动范围,而天蝎座π星恰在其中位处。今对月球黄纬不加限制,条件极宽,意在不遗漏任何可能的日子。
[12] 自周地至牧野约900里,史籍中从无周师在途中遭到抵抗的记载,故设伐纣之师日行30里,自以一个月左右的时间为宜。这种“反叛中央”的战役,理应速战速决,而绝不能迁延缓进──万一“勤王之师”来救,行动就可能失败。
[13] 《乙巳占》卷二中,论月犯房宿诸星时,皆为凶象,唯有天驷例外:“月行天驷中,经岁安宁,五谷熟”。即使此为后出之占辞,仍可见天驷为农事之吉星。

 

关键词:武王伐纣 天象记录 天文学 历史年代学 星历表

 

 

2003年5月11日加入

 

 

原载《科学》515期(1999