点击蓝色字免费订阅,
唐虞夏商天象考
世纪风云核心提示:
《路史》注称:“《日月五星图》云,桀末年,两日并斗,五星交错,枉矢流,火神见。”
这是两日天文现象的文字资料:枉矢流——这是流星与陨石灾难。
今本《竹书纪年》记载:“桀十年,五星错行,夜中星陨如雨。”
五星错行——这是行星运行轨道出现混乱天文现象,这与第二个“太阳”影响相关,夜中星陨如雨——这与天倾倒现象相关。此星当为恒星!与颛顼帝时期的天倾西北,故日月星辰移焉---天文现象相似。
“有苗三日不见日,是非有苗之□耶?对”,
这是地球停止自转事件——故有海侵灾难,大禹治水历史--海水进入内陆盆地,无法回到大海中--大禹采取开山决渎方法得以治好水患。
唐虞夏商天象考
赵永恒
(中国科学院国家天文台,北京 100012)
[摘要] 本文根据古代文献记载的尧舜禹、夏商之际和商周之际的五星会聚、日食和历日等天象,利用现代天文学的方法来推算这些天象的年代,从而可以对尧舜禹和夏商的年代进行一定的限制。
关键词:尧舜禹;夏商;五帝;天象;天文年代学。
尧舜禹是我国古代传说的帝王,是通过“禅让”来交接政权的。古文献记载尧属陶唐氏,舜属有虞氏。夏商周断代工程的研究成果[1]给出夏朝始于公元前2070年,商朝始于公元前1600年,周朝始于公元前1046年。在古文献中,记载了许多有关尧舜禹、以及夏商之间和商周之间的天象,本文对这些天象进行梳理,并利用现代天文学的方法来确定这些天象的年代,从而对这些帝王的年代做出一定的限制。
本文的天象回推计算主要由瑞士的Dieter Koch和Alois Treindl两人开发的“瑞士星历表”(Swiss Ephemeris)软件(http://www.astro.com/swisseph/)进行。该软件是在美国NASA的喷气推进实验室(Jet Propulsion Laboratory, JPL)发布的精度最高的DE406行星历表和月亮表的基础上拓展而来的,它将DE406从公元前3000年至公元3000年的时间跨度拓展到公元前 5400年至公元5400年,并保证了0.001角秒的位置精度。因此该软件的时间跨度和位置精度完全适用于所在历史年代的判断。
一、五星会聚
通过计算太阳与水星、金星、火星、木星、土星的黄经,定义五星会聚的条件为五大行星会聚在黄道上黄经60度的范围内,并在太阳的同一侧;各行星到太阳的距离大到足够使它能被肉眼观测到[2]。
1、商纣时“五星聚房”
今本《竹书纪年》“帝辛三十二年,五星聚于房。”和“孟春六月,五纬聚房。”《春秋元命苞》:“殷纣之时,五星聚于房。”
班大为认为这是公元前1059年5月28日(甲子日)发生在鬼宿的五星聚合[3]。我们同意此结论(图1),同时可以指出:那段时间里黄昏时西方天空有五星聚时,房宿正好升上东方天空,特别是公元前1059年6月1日阴历十三的月亮恰在房宿和心宿附近(图2),在后世的传说中就将这次五星聚与房宿联系起来了。
图1 公元前1059年5月28日黄昏时所看到的天象,显示了日月五星和部分星宿在天空中的位置。横坐标表示地平坐标的方位角,90度为正东方,180度为正南方,270度为正西方;纵坐标表示地平坐标的高度角,0度表示地平线,正数为地平线以上,负数为地平线以下。日月五星的赤道坐标来自于Swiss ephemeris软件包,恒星数据来自欧洲空间局的Hipparcos星表[4],并进行了恒星自行的改正,岁差改正是依据P03模型[5]而得到的。(下同)
图2 公元前1059年6月1日黄昏时所看到的天象。
2、夏桀时“五星错行”
今本《竹书纪年》记载:“桀十年,五星错行,夜中星陨如雨。”《帝王世纪》称:“桀淫乱,灾异并见,两日斗射,摄提移处,五星错行,伊洛竭,彗星出,鬼哭于国,汤伐之。”《路史》注称:“《日月五星图》云,桀末年,两日并斗,五星交错,枉矢流,火神见。”
班大为认为这是公元前1576年12月26日发生的五星聚合[3]。但这并不是“五星错行”,而且与夏商分界年代公元前1600年相距过远。
从公元前1576年往前推,在公元前1600年左右有两次“五星错行”。一次是在公元前1598年12月30日前后,黄昏时在西方天空可看到“五星错行”。在五大行星中,离太阳近的水星和木星相错而行,离太阳远的火星和土星相错而行,中间的是金星(图3)。另一次是在公元前1612年11月26日前后,清晨时发生东方天空(图4),但“五星错行”不如公元前1598年那次显著。
因此,可定夏桀时“五星错行”的时间为公元前1598年12月30日。
图3 公元前1598年12月30日黄昏时所看到的天象,其中水星和火星分别越过木星和土星而向左上方运动。
图4 公元前1612年11月26日清晨时所看到的天象,其中水星越过木星而向下方运动。
3、夏禹时五星连珠
《孝经钩命诀》记载:“禹时五星累累若贯珠,炳炳若连壁。”许多学者对此进行了推算[6],主要认定为1953年2月26日的五星聚。但实际上,“五星累累若贯珠”是说五星好像一串珠子似的,而不是聚合在一个小区域。
在公元前2100-前2040年间,只有一次五星连珠,即在公元前2049年1月17日前后的清晨,可在东方天空看到五星成一串而排列,即“五星连珠”(图5)。同时,公元前2049年1月17日又是朔日,故可视为“日月合璧”。此后直到公元前2000年,则是在公元前2032年7月5日清晨(朔日)、公元前2031年4月21日黄昏、公元前2029年6月22日黄昏和公元前2012年12月23日黄昏可看到五星连珠。
我们定禹时五星连珠为距夏始年最近的公元前2049年1月17日。
图5 公元前2049年1月17日清晨时所看到的天象。
4、尧时五星连珠
今本《竹书纪年》和《宋书·符瑞志》均记载尧时“日月如合璧,五星如连珠。”日月合璧实际是指朔日。这样在公元前2100-前2200年间,共有四次朔日时的五星连珠,分别发生在公元前2114年6月12日黄昏、公元前2152年2月14日黄昏、公元前2170年8月29日黄昏、公元前2190年3月16日清晨(图6)。
结合后文关于尧之年代的推算,文献记载的尧时五星连珠最有可能是在公元前2114年6月12日黄昏。
图6 五星连珠的天象,分别为公元前2114年6月13日黄昏(左上)、公元前2152年2月14日黄昏(右上)、公元前2170年8月29日黄昏(左下)、公元前2190年3月16日清晨(右下)。
二、日食
1、夏仲康日食
《书经》、《左传》、《史记》和今本《竹书纪年》所载的“仲康日食”,一直是众多学者研究的一个难题[7]。
对于发生在仲康五年的日食,夏商周断代工程给出四种可能方案:公元前2043年10月3日、公元前2019年12月6日、公元前1970年11月5日和公元前1961年10月26日[1]。考虑到《尚书·胤征》记载的“季秋月朔,辰弗集于房”、以及与夏始年的相距年代问题,可确定仲康日食发生在1970年11月5日。
2、舜禹时三苗日食
《墨子·非攻下》在论及舜命禹征三苗时有“昔者三苗大乱,天命殛之。日妖宵出,雨血三朝,龙生于庙,犬哭乎市,夏冰,地坼及泉,五谷变化,民乃大振。高阳乃命玄宫,禹亲把天之瑞令,以征有苗。”古本《竹书纪年》将“日妖宵出”记为“日夜出,昼日不出”。
有学者认为所谓“日妖宵出”可能是一次“天再昏”或“天再旦”的日食现象,并做了研究。刘次沅认为公元前2072年4月29日在三苗地区(中心在长江中游的江汉地区)发生的“天再昏”最有可能[7]。
出土文献定州西汉中山怀王墓汉简《六韬》[8]中描述“征三苗”的有:
“第十三,舜伐有苗武”,
“□曰:吾闻有苗雨血沾朝衣,是非有苗”,
“有苗三日不见日,是非有苗之□耶?对”,
“有苗月蚀日断,三日不解,是非□”,
“之□乎?对曰:未有日月断蚀,有始”,
“□曰:然则有苗何以亡?对曰:有”
“有苗是谓所”
“之□右□蠡之水建土险也。”
从中可看出在征三苗的时期,三苗地区发生了很多日月食。现将公元前2072年前后的日月食列于下表[9][10](日食的时刻与食分以湖北武汉计,月食的时刻与食分以北京计):
公元前 | 日食(时刻,食分) | 月食(时刻,食分) |
2075年 | 6月30日日环食(19:05,0.90) 天再昏 | 6月16日月偏食(5:32,0.29) 12月10日月全食(1:39,1.09) |
2074年 |
| 6月5日月偏食(19:58,0.14) |
2073年 | 11月3日日环食(9:04,0.60) | 5月25日月偏食(5:32,0.65) 11月17日月偏食(21:49,0.14) |
2072年 | 4月29日日全食(18:10,1.03) 天再昏 10月23日日环食(7:55,0.40) |
|
2071年 | 4月19日日全食(7:37,0.97) | 4月3日月偏食(18:59,0.77) |
从表中可看出,以公元前2072年4月29日的日全食作为造成“天再昏”现象是合适的。在公元前2073年至前2071年的三年间,除“天再昏”外,三苗地区还见到三次日偏食和三次月偏食。这种频繁的日月食必然造成三苗族的恐慌,“苗师大乱”(《墨子》),禹征三苗时“班师振旅”、“舞干羽于两阶”,通过炫耀武力和“诞敷文德”(《尚书》),“行德三年,而三苗服”(《吕氏春秋》)。
3、商纣时“天大曀”
古本《竹书纪年》记载:“帝受辛时,天大曀。”刘次沅等人为“天大曀”很可能是食分很大的日食所造成的,并对周昭王时的“天大曀”做了推算[7][11]。这样,可以认为商纣时的“天大曀”也是一次食分很大的日食所造成的。
在商纣王时期,即公元前1075至前1046年间[1],在殷墟(河南安阳)所见食分大于0.8的日食有公元前1067年10月13日(食分0.90)和1055年8月31日(食分0.82)日环食。相比较而言,公元前1067年10月13日的日环食发生于日出时,不甚引人注意;而公元前1055年8月31日的日环食发生于中午时分,则“天大曀”的效果会十分明显。
三、历日
1、周武王朔日
《新唐书·历志》录《大衍历议·日度议》曰:
故《周书》曰:“维王元祀二月丙辰朔,武王访于周公。”《竹书》:“十一年庚寅,周始伐商。”
从公元前1046年往前推,二月孟春丙辰朔(不超过两天)的年代是:公元前1049年3月30日戊午朔和公元前1059年3月21日丙辰朔。
古本《竹书纪年》记载的武王“十一年庚寅”,如果庚寅是纪年的,则庚寅年为公元前1051年,或是公元前1111年和991年,这显然是有问题的,因此庚寅应该是纪日的。而古本《竹书纪年》特别提到庚寅日,该日应该可以作为“历元”,即庚寅日既是朔日、也是冬至日。如此,从公元前1046年至前1100年,庚寅日是朔和冬至(不超过两日)的年代只有一个:公元前1049年1月2日庚寅朔,前1050年12月31日戊子冬至。
综合两者来看,公元前1050年“文王崩”,该年冬至是庚寅日朔;次年,即公元前1049年,“武王即位”。这与班大为的研究结果[3]是一致的。
2、鸣条之战
《吕氏春秋》称:“商凅旱,汤尤发师以信伊尹之盟。”又称:“殷汤良车七十乘,必死六千人,以戊子战于郕,遂禽移大牺,登自鸣条,乃入巢门,遂有夏。”《帝王世纪》《列女传》称:“汤来伐桀,以乙卯日战于鸣条之野。桀未战而败迹,乃与妹喜及诸嬖妾同舟浮海,奔于南巢之山而死。”《尚书序》称:“汤即黜夏命,复归于亳,做汤诰。”《史记·索隐》曰:“孤竹君,殷汤三月丙寅所封。”说明汤伐桀时戊子日战于郕,乙卯日战于鸣条、放桀,之后返回亳,三月作《汤诰》,三月丙寅日封孤竹君。
自公元前1598年12月30日夏桀时“五星错行”以后,以夏历“建寅”计,公元前1595年4月16日为戊子日,5月13日为乙丑日,5月24日为三月丙寅日。故商汤灭夏在公元前1595年。
3、成汤十三年
《世经》引《殷历》曰:“当成汤方即世用事十三年,十一月甲子朔旦冬至。”从夏桀时发生“五星错行”的年代公元前1598年向后推,则十一月甲子日是朔旦冬至(不超过两日)的年代是:公元前1592年1月4日壬戌朔,1月3日辛酉冬至。则成汤十三年是公元前1593年,而成汤元年为公元前1605年。
4、太甲元年
《尚书·伊训》曰:“惟太甲元年十有二月乙丑朔。”从成汤十三年向后推,十二月乙丑朔(不超过两日)的年代是:公元前1587年2月8日癸亥朔。则太甲元年是公元前1588年。
5、尧元年丙子
古本《竹书纪年》记载“尧元年丙子”。如果“丙子”是纪年的,则在夏朝以前,丙子年为公元前2085年、2145年和2205年。
但是,很多学者并不认为“丙子”是纪年的。那么,“丙子”就是纪日的,问题它是什么日子。由于尧时的历法是“建子”的,很可能尧的历法之元是丙子,即丙子既是尧元年的朔、也是冬至之日。
从公元前2270年至前2070年两百年间,丙子日是朔和冬至(不超过两日)的年代有:
公元前2230年:1月8日丙子朔,1月8日丙子冬至;
公元前2173年:1月8日乙亥朔,1月7日甲戌冬至;
公元前2127年:1月9日戊寅朔,1月7日丙子冬至;
公元前2116年:1月8日乙亥朔,1月6日癸酉冬至。
在这四个年代中,公元前2230年似失之过早,公元前2116年似过晚,公元前2173年或前2127年作为尧元年是比较合适的。
6、尧获《河图》
今本《竹书纪年》和《宋书·符瑞志》均记载,尧“二月辛丑”获《河图》、“后二年二月仲辛,率群臣东沉璧于洛”,后“遂让舜”。
由于尧时的历法是“建子”的,在公元前2127年至2070年间,二月朔为辛丑(不超过两日)的年代是:一是公元前2105年2月5日庚子朔,后二年二月仲辛为公元前2103年2月25日;二是公元前2095年2月14日壬寅朔,后二年二月仲辛为公元前2093年2月23日。
7、舜即位
《帝王世纪》曰:“舜摄政二十八年而尧崩。三年丧毕。舜年八十一,以仲冬甲子、月次于毕,始即真。”舜即位于仲冬(含冬至的月)甲子日,其时月亮位于毕宿。在公元前2100年至2050年间,经计算有三个年代:公元前2093年12月22日、公元前2077年2月2日和公元前2061年1月9日。
四、唐虞夏商之可能年代
根据上述有关天象的年代计算,可以给出唐虞夏商的可能年代如下:
1、商周之际
公元前1059年,5月28日前后发生“五星聚于房”,被认为周“受命于天”。
公元前1058年,文王“受命之年”。
公元前1055年,8月31日发生日环食,史载商纣时“天大曀”。
公元前1050年,文王受命九年,文王崩;该年朔冬至为庚寅日(公元前1049年1月2日)。
公元前1049年,武王即位,该年二月丙辰朔(3月28日),十一月“周始伐商”、“师渡孟津而还”。
公元前1047年,年末,武王伐纣。
公元前1046年,1月20日甲子日周克商。
2、夏商之际
公元前1605年,“汤始居亳”,为成汤元年。
公元前1598年,12月30日前后发生五星会聚现象,史载夏桀时“五星错行”。
公元前1595年,5月13日发生“鸣条之战”,成汤灭夏。
公元前1593年,成汤十三年,朔冬至为甲子日(公元前1592年1月6日)。
公元前1592年,成汤崩,外丙立,二年(《孟子》)。
公元前1591年,仲壬立,四年(《孟子》)。
公元前1588年,太甲立,十二月乙丑朔(公元前1587年2月10日)。
3、夏朝前期
公元前1974年,仲康立。
公元前1970年,仲康五年,11月5日发生日食,史称“仲康日食”。
4、尧舜禹时期
古代文献中关于尧舜禹年代的记载散乱而不清,但历史大事的基本次序是清晰的。依据前面对该时期天象的考察,可以给出如下的年代限制:
1)尧元年为公元前2230年、2173年、2127年或2116年;
2)尧时“五星连珠”为公元前2190年、2170年、2152年或2114年;
3)尧获《河图》为公元前2105年或2095年,其后二年尧沉壁“荐舜于天”;
4)舜即位于公元前2093年、2077年或2061年;
5)禹征三苗为公元前2072年前后;
6)禹时“五星连珠”为公元前2049年或2032年;
7)禹卜阳城为约公元前2042年[12]。
参考文献
[1] 夏商周断代工程专家组. 夏商周断代工程1996—2000阶段成果报告(简本)[M]. 北京:世界图书出版公司,2000
[2] 江晓原,纽卫星. 回天——武王伐纣与天文历史年代学. 上海:上海人民出版社[M],2000
[3]班大为. 中国上古史实揭秘[M]. 上海:上海古籍出版社,2008
[4] Perryman, M.A.C. et al. Astronomy and Astrophysics[J].1997, 323: L49
[5] Capitaine, N. et al. Astronomy and Astrophysics[J].2003, 412: 567-586
[6]徐振韬、蒋窈窕. 五星聚合与夏商周年代研究[M]. 北京:世界图书出版公司,2006
[7]刘次沅. 中国早期日食记录研究进展[J]. 天文学进展,2003,21(1):1-10
[8]张守中. 定州西汉中山怀王墓竹简《六韬》释文及校注[J]. 文物, 2001(5): 79-85
[9]刘次沅、马莉萍. 中国历史日食典[M],北京:世界图书出版公司,2005
[10]李广宇等. 夏商周时期的天象和月相[M],北京:世界图书出版公司,2007
[11]刘次沅. 从天再旦到武王伐纣[M],北京:世界图书出版公司,2006
[12]赵永恒.《周髀算经》与阳城[J].中国科技史杂志, 2009(1): 102-109.
Celestial Phenomena of Yao, Shun and Yu Emperors and Xia, Shang Dynasties
According to historical records about celestial phenomena of conjunctions of five planets, solar eclipses and calendar dates, we calculated the chronology of those phenomena by using of the newest astronomical ephemeris and star catalog.
Keywords: Five Emperors; chronology; astrochronology
(发表于《重庆文理学院学报(社会科学版)》2011年第02期)
前沿资讯公众号:世纪风云潮