摘要:在公元前2073年至前2071年的三年間,除“天再昏”外,三苗地區還見到三次日偏食和三次月偏食。”從夏桀時發生“五星錯行”的年代公元前1598年向後推,則十一月甲子日是朔旦冬至(不超過兩日)的年代是:公元前1592年1月4日壬戌朔,1月3日辛酉冬至。

趙永恆:唐虞夏商天象考

堯舜禹是我國古代傳說的帝王,是通過“禪讓”來交接政權的。古文獻記載堯屬陶唐氏,舜屬有虞氏。夏商周斷代工程的研究成果[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.

趙永恆:唐虞夏商天象考

學習古籍版本,離不開查看實物、關注古籍網拍、瞭解市場價格!點滴是低成本、最方便的學習方法:長按圖片選擇“識別圖中二維碼”關注點滴拍賣或點擊閱讀原文查看更多拍品。

相關文章