之前写过一篇《利簋:武王伐纣是在哪一年?》,简单介绍了学者们推测武王伐纣年份的思路:
一、确定武王伐纣时间的大致范围
二、确定牧野之战的干支纪日
三、确定牧野之战前后的月相变化
四、结合以上信息,推算武王伐纣的时间。
本质上,这是一个天文学照进历史学的故事。
类似的思路,也可以用于另一些历史事件的年代判定。
只要那个历史事件伴随着特定的天文现象,比如说日食。
古本《竹书纪年》上有这么一条:懿王元年,天再旦于郑。
就是说,周懿王元年,陕西地区天亮了两次。
这话很费解,学者们猜,或许那天太阳刚升起就发生了一次日食,所以会有这样的记载。
顺着这个思路,学者们去计算,发现公元前899年4月21日凌晨5时48分有一次日食,陕西一带可见。

于是,学者们猜周懿王元年或许是公元前899年。
有一件文物支持这个猜测,那是藏于上海博物馆的师虎簋,这件文物我们之前已判定为周懿王时期。

师虎簋铭文上有一句“王元年六月既望甲戌”,我们掐指一算,公元前899年六月甲戌日的月相正好是既望。
因此,“周懿王元年是公元前899年”这一结论当年被“夏商周断代工程”作为阶段性成果采用,成为建立西周王年体系的七个支点之一。
日出时可以发生日食,日落时也可以发生日食。
《墨子·非攻下》记载了一个大禹征有苗的传说:
昔者三苗大乱,天命正之,日妖宵出,雨血三朝,龙生于庙,犬哭于市……
“日妖宵出”按字面理解是:太阳作妖,在晚上出来。
又很费解,学者们再次发挥想象力:
或许这次是日落时分发生日食,然后人们把那次日食当作日落了;
等日食结束,太阳再次出现,人们就觉得很奇怪,这太阳怎么在晚上出来了?
顺着这个思路,学者们去计算,发现公元前2072年4月29日黄昏有一次日食。
那一次日食,三苗地区(长江以南,鄱阳湖以西,衡山以东)确实可以看到。
不过,大禹时代接近于传说,相关史料太少,所以这个猜测比较弱。
要证实或证伪,都得看未来会不会有更多的信息。
接下来聊聊古人对日食的理解。
我们都知道一个传说,叫“天狗食日”,但我考察文献,发现一件很有趣的事——
“天狗食日”这个说法其实很晚才有,明代以前很可能没有天狗食日这个说法。

“日食”这个说法确实很早就有,甲骨文里都有写到。但在早期传说里,吃太阳的并不是天狗。
《史记·龟策列传》里曾引孔子的话说“日为德而君于天下,辱于三足之乌。月为刑而相佐,见食于虾蟆”,也就是说日食是三足金乌吃太阳,月食是蛤蟆吃月亮。
到后来,吃太阳和吃月亮的活都被天狗包了。
据说,天狗食日/天狗食月时,人们应该敲锣打鼓放炮仗,让狗把太阳/月亮吐出来,
让我觉得吃惊的是,在晚清、民国,很多人真的信这个,而不是拿它当民俗活动。
1920年,南京地区有一次月食,老百姓展开了轰轰烈烈的救月行动。
当时的知识分子看到这一幕,深感民智未开。
当年《申报》有一篇《辟救月之荒谬》说:
吾国人素多迷信,至今日尚不能革除,良可浩叹……
夫生而为二十世纪之人须具有科学的人生观,一切迷信皆应破除,愿学者速以科学常识劝导乡愚,毋再迷信致贻笑中外也。
第二年,竺可桢在《本校急应在北极阁上建筑观象台意见书》中也对此事深表痛心:
南京素称文化之邦,而去年10月27日月蚀时,城中各处锣声震地,群讶以为天狗食月,南京如斯,他处更可知。
类似的事,在1934年、1941年也有发生。
我实在是有些惊讶,因为对日食、月食的解释,西汉张衡的《灵宪》里有,唐代孔颖达的《春秋左传正义》里有,宋代马端临的《文献通考》里也有……
这种知识,被反复发现,就一直没传播开吗?
拿《文献通考》来说,里面记录了刘孝荣的一段话:
月本无光,受日为明,望夜正与日对,故一轮光满。或月行有迟疾先後,日光所不照处则为食。
朔旦之日,日月同宫,如月在日上,掩太阳而过,则日光为所遮,故为日食。非此二日,则无薄蚀之理。
因为月有阴晴圆缺,又因为日食总在三十、初一。
刘孝荣推断:月亮本身是不发光的,月相变化是因为太阳照射面积的问题。至于日食,是月亮挡着着太阳了。
这不是很正确吗?看来古人和古人并不是同一类人。