关于周武王灭商牧野之战的具体时间,林林总总有数十种不同说法。自利簋“珷征商,唯甲子朝,岁鼎(贞)”铭文一出,又有一些新说法涌现。这涉及到对“岁贞”的不同理解。笔者认为,铭文“甲子朝,岁鼎(贞)”恰是对今本《竹书纪年》记武王灭商在公元前1050年的极好注解。

打开今日头条查看图片详情

利簋铭文全文如下:

珷征商,唯甲子朝,岁鼎(贞)克昏,夙有商。辛未,王在阑师,赐有事利金,用作旜公宝尊彝。

对于岁贞的理解关键取决于“岁”作何解释。相当多的人认为“岁”指岁星(木星),在这种理解下,对于“岁贞”的解释又大致分两种,一种认为“岁贞”是牧野战前对岁星的贞卜,是某种岁星祭祀仪式,由于是泛泛的理解,故持此说者多没有推算具体历日;另一种认为“岁贞”意思是岁星“中天”或岁星“当空”,这就可以推算具体日期了。有学者推算为公元前1044年1月9日(十二月初四甲子日),该日安阳地区日出时间7:59,岁星中天时间为5:40,尽管岁星中天比“朝”(早晨)早了2个多小时,但作者认为星体中天“不是仅指正在天中的那一刻,而是有一个时段”。另有据岁星“当空”,结合“岁在鹑火”,根据岁次12年周期推为公元前1070年或前1046年等。

打开今日头条查看图片详情

另外比较孤立的意见(笔者所见只有张富祥先生撰文)认为,贞与正意思相同,“岁贞”即“岁正”或“岁旦”,也就是正月初一。这是将岁理解为一般的年岁。笔者的观点与其不约而同,惜他没有进一步探求具体的日期。

岁当然可以指岁星,但代入利簋所处的周初,目前所见周初文本中,“岁”几乎没有作岁星讲的,一般均用作年岁。笔者检索统计了被认为反映了周初至西周中期,以及较早时代的作品,包括《尚书·周书》、《逸周书》、《周易》、《诗经》等相关词句,发现“岁”均难以解释为岁星。详见下图。

打开今日头条查看图片详情

打开今日头条查看图片详情

因此,铸造于周初的利簋铭文中的岁,用指一般的年岁的概率更大。至于贞之理解为正,易·师卦彖传:“师,众也;贞,正也。能以众正,可以王矣。”岁正或许同于正岁,指的是年初,《周礼》往往以正岁与岁终相对,如:

《天官冢宰》:岁终,则令群吏致事。正岁,帅治官之属而观治象之法,……

岁终,则令群吏正岁会;……正岁,则以法警戒群吏,令修宫中之职事。

《地官司徒》:岁终,则考其属官之治成而诛赏,令群吏正要会而致事。正岁,则帅其属而观教法之象,……

《春官宗伯》视祲:……正岁,则行事;岁终,则弊其事。

《秋官司寇》:岁终,则令群士计狱弊讼,登中于天府。正岁,帅其属而观刑象,令以木铎,……

《黄帝内经·素问》有比《周礼》更严格的“正岁”概念,指的是正月朔时刻恰在平旦:“夫六气者,行有次,止有位,故常以正月朔日平旦视之,覩其位而知其所在矣。运有馀,其至先;运不及,其至后,此天之道,气之常也。运非有馀非不足,是谓正岁,其至当其时也。”这一点与《白虎通·三正》相同:“夏以十三月为正,色尚黑,以平旦为朔。”但正月初一朔恰在平旦的情况在实际中是极为罕见的。所以利簋的“岁贞”当从较宽泛的理解,即正月初一,朔时刻不一定在平旦。

如此理解“岁贞”,那么就能够通过甲子日为正月初一来推武王灭商具体年份。我们设定公元前1150年到公元前1000年这150余年的可能范围(涵盖了目前所有各种说法),考察正月初一恰为或接近(误差不超过±1天)甲子的年份。结果列表如下:

利簋铭文中讲到:武王征商,唯甲子朝,岁鼎,克昏夙有商中的岁鼎是什么意思?

打开今日头条查看图片详情

可以看到,共有9个可能年份,其中有3个获得其他古今说法的支持,包括:

1.刘歆的公元前1122年,也是传统上正统的看法(但刘歆推算的甲子在周历二月初五,与该年实际不合,源于他的朔策误差和冬至日推算错误,这里就不展开说了);

2.今本《竹书纪年》的公元前1050年,由于相当多的人认为该书是伪书而不加以考虑,仅获得极少支持;

3.公元前1029年。

其他年份目前无证据支持,不作考虑。在上述三个年份中,

一,首先应排除公元前1122年。因为该年份大大超出了由沣西马王村遗址H18(先周最晚时期)、殷墟人骨、琉璃河遗址最早期人骨测年拟合的公元前1050—1020年这一年代范围。它甚至比商晚期考古测年数据还要稍早,比如三星堆八号坑,碳十四测年数据表明掩埋年代有95.4%的概率在公元前1117-前1015年之间,公元前1122年已经稍微超过了其上限,几乎不可能晚到商末,不然的话整个三星堆八号坑遗物均应划归西周早中期。

打开今日头条查看图片详情

另外,《孟子·公孙丑下》明言,孟子离开齐国时(《孟子年表》列于周赧王二年,公元前313年)“由周而来,七百有馀岁矣”,这就意味着武王灭商不能早于公元前1112年,否则就该说800有余岁才对。

二,公元前1029年这一说法其实是以古本《竹书纪年》的前1027年为基础微调来的。由于前1027年不符合《国语》“昔武王克殷,岁在鹑火”,于是便在这个年份上下找符合者。从而根据岁在鹑火(午)、太岁在酉的对应关系,认为在酉年,而距离前1027最近的是前1032年己酉岁。又根据岁星周期11.8622年,非12年,进行校正,减去累积的误差3年,从而得到前1029年。

对此,笔者认为,古本《纪年》的前1027年是根据“自武王灭殷以至幽王,凡二百五十七年也”(《史记·周本纪》裴骃《集解》引《汲家纪年》)推出来的,若换成前1029年,则证明古本《纪年》所说年数是错误的。既然错误,那么,前1029年本身也就失去了推论的基础,造成自相矛盾。

且历日上作者似乎没有经过实际验证,仍然遵从刘歆周历二月初五甲子的错误推断。实际上该年正月初二甲子,周历当在三月,而《逸周书·世俘解》明言“越若来二月既死魄,越五日甲子”,既死魄(一般认为在下弦月)后第5日,虽然接近三月了,当并未说三月,可见仍在二月底,不当晚到三月初。

打开今日头条查看图片详情

三,剩下的只有今本《纪年》公元前1050年。符合上述列举的各款:它不仅相对符合对于利簋“岁贞”为正月初一的解释;而且符合公元前1050—1020年的考古测年拟合数据;符合孟子“由周而来,七百有馀岁矣”的说法;符合《逸周书·世俘解》甲子当在周历二月底(夏历十二月底)。

如此,牧野之战当天的情形就是这样的:

→公元前1050年夏历十二月最后一日甲子清晨,周武王到达战场(《周书·牧誓》:“时甲子昧爽,王朝至于商郊牧野”);

→商军战败瓦解;

→纣王在除夕夜自焚而死(《逸周书·世俘》:“时甲子夕,商王纣取天智玉琰,琏身厚以自焚”);

→1、2个小时后,半夜刚过,迎来了新年(正月初一乙丑01:12朔,当然周人自己推算的朔时刻容许有一定误差,当不会偏离太多);

→正月初一乙丑新年黎明前,“夙有商”(利簋铭)。

可见,如果对于利簋”岁贞“的解释不误,那么按照今本《纪年》商周政权更迭发生在前1050年推导的历日,无论是周武王之战胜,还是商纣王的自焚,其历日都是经过精心选择的,有着浓厚的天命转移、除旧布新的历法术数和宿命论意味。