最近,筆者閑著沒事兒,又苦于公元紀年與干支紀年的對應關系過于復雜而繁瑣,于是乎琢磨起它們之間的數(shù)學換算關系,以期有所收獲,聊解心中不快。經(jīng)過文獻考證,并比較時下眾多專家學者運算模式之優(yōu)劣后,自感收獲與眾不同,倒也樂在其中,故而弄斧至班門,以與大家共勉。 歷史上幾個主要紀年法簡介 客觀而言,世界歷史上較有影響之紀年法,主要有公元紀年法、干支紀年法、王朝帝號紀年法、伊期蘭歷(又稱“回歷”)和佛歷等等。據(jù)文字記載,我國距今約五千年前之黃帝大一統(tǒng)時期,就創(chuàng)立并開始使用了“黃帝紀年法”和“干支紀年法”。只是由于多方面原因,我國大約自二十世紀初葉開始,就不再使用黃帝紀年法了。這里只是簡要地介紹一下公元紀年法、黃帝紀年法和干支紀年法。 一、公元紀年法 大凡了解歷史的人們都知道,公元紀年乃是歐洲中世紀時期羅馬教皇格列高利假借基督耶穌生日的名義而于1582年創(chuàng)立的一種紀年方法,又稱“基督歷”、“格列高利歷”、“公歷”、“陽歷”。在此之前,歐洲許多國家適用的,是古羅馬帝國皇帝儒略·愷撒于公元前46年頒布施行的“儒略歷”。公元紀年采用數(shù)字累積紀年法,自公元元年始,與地球的自轉(zhuǎn)、公轉(zhuǎn)周期更為接近,因而作為比較科學的紀年方法而為國際上所通用。 在我國,最早采用公元紀年法的是1912年中華民國成立的時候。這要感謝我們偉大的民族革命先驅(qū)者孫中山先生。此前,我國歷代王朝采用的則是王朝帝號紀年法和干支紀年法。從1912年起,中華民國時期(包括現(xiàn)今臺灣地區(qū))一直采用的是民國紀年法和公元紀年法。而從中華人民共和國成立即1949年起,大陸地區(qū)則采用的是公元紀年法和干支紀年法。從1912年起,尤其是從1949年起,中華民族的歷史紀年體系開始了浩翰而復雜的編纂整理工程,郭沫若等老一輩史學家和大量的文獻、歷法專家學者為此付出了前無古人的心血與汗水。 二、黃帝紀年法和干支紀年法 我國在傳統(tǒng)意義上,一直沿襲著自己獨創(chuàng)的紀年法——“夏歷”(亦稱“黃歷”、“農(nóng)歷”、“古歷”、“陰歷”)和干支紀年法。關于黃帝紀年法,現(xiàn)行通說是,以中華人文始祖黃帝軒轅氏統(tǒng)一中原地區(qū)(即“華夏”)后當政即位年(有的稱為“黃帝誕生年”)作為元年起始的。關于黃帝紀年法最早的提法始于晚清經(jīng)學大師劉師培之手,1903年他發(fā)表《黃帝紀年論》一文,曰“黃帝者,漢族之黃帝也,以之紀年,可以發(fā)漢族民族之感覺”,因此,“國人茍欲紹繼黃帝志業(yè),自應擇善而從,師法日本以神武天皇紀年之意,以黃帝降生之年為國史紀年之肇端。”[1]1905年,宋教仁鑒于當時各家說法之不一,乃參酌《皇極經(jīng)世》、《通鑒輯覽》諸書,考定黃帝即位元年為癸亥年,距1905乙巳年4603年。[2] 1912年初,孫中山就任臨時大總統(tǒng),改用陽歷,“以黃帝紀元四千六百九年十一月十三日為中華民國元旦。”[3]隨后不久,黃帝紀年法在中國歷史上銷聲匿跡。 而干支紀年法則是由“甲、乙、丙、丁”等十天干和“子、丑、寅、卯”等十二地支輪換組合而成,并以此劃分和確立黃帝紀年之年、月、日所對應的天干地支碼號和一年四季共二十四節(jié)氣。其中,天干十年一輪回,地支十二年一輪回,干支紀年法從甲子年開始,終于癸亥年,前后六十年一輪回。據(jù)現(xiàn)行通說,黃帝元年或為甲子年[4],或為癸亥年,較公元元年早2698年。筆者贊同黃帝元年為第一個甲子年之說,它更能與我國傳統(tǒng)的干支紀年法相對應。由此推算,公元元年為黃帝紀年2698年,對應的干支紀年為辛酉年,公元2008年為黃帝紀年4705年,對應的干支紀年正是戊子年。 有趣的是,傳說自中國遠古之殷商王朝末期周文王創(chuàng)立“陰陽八卦”以及后來“五行說”(金、木、水、火、土)開始,中國歷代先賢如姜子牙、鬼谷子、張良、諸葛亮、魏征、劉伯溫等等,都先后將黃帝紀年、干支紀年與“陰陽八卦”、“五行說”溶合在一起進行研究推算,形成了許多預知世間萬物運行規(guī)律和人生命運吉兇禍福的理論體系與學說流派。更有趣的是,干支紀年法中的十二地支還分別對應著我們更為熟知的“鼠、牛、虎、兔”等十二生肖。 只是不無遺憾的是:中世紀時期“聰明”的歐洲人能假借基督耶穌生日的名義而創(chuàng)立公元紀年法,并推廣至全世界而通用之,而堂堂五千年文明古國的中國卻不能假借黃帝元年的名義將黃帝紀年法進行到底。 公元紀年、黃帝紀年與干支紀年的換算規(guī)律 一、公元紀年推算其對應的干支紀年之規(guī)律 誠然,作為炎黃子孫,我們尚無法對60年一輪回的干支紀年法自“甲子年”至“癸亥年”的年號編排了熟于心。但是,實際生活中,我們卻早已習慣于在使用公元紀年的同時,更熱衷于琢磨和推算其對應的干支紀年碼號和生肖碼號,并將其內(nèi)化為一種精神的和文化的自覺而溶入我們?nèi)粘5纳盍晳T與社會交往中。這當然與植根于我們內(nèi)心的民族文化傳統(tǒng)修養(yǎng)有很大關系。問題是:誰也無法用最便捷的速度與方式推算出公元紀年所對應的干支紀年。這個問題即使擺在街頭巷尾那些嫻熟老練的“算命先生”那里,也并不是輕而易舉的事兒,甚至其“掐指一算”,也總會有推算錯誤的時候。 幸運的是,目前已有多位專家學者例如北京大學的張家驥、楊哲鋒先生以及北京科技大學的馬肇曾先生等等,都在針對這一問題進行數(shù)學上的具體解析,并爭相推出自己的數(shù)學運算模式[5]。但是,單論公元紀年推算其對應的干支紀年碼號而言,筆者認為,上述數(shù)學運算模式依然過于繁瑣而不利于我們簡便易行。因此,找尋更為簡便易學的推算模式,已是我們許多好事者的共同心愿。 (一)公元年號換算其對應的干支紀年之方法 大家知道,歷史上的公元紀年是從“公元元年”而不是“公元0年”算起的,每百年為一個世紀,而干支紀年是從甲子年算起的,每六十年一輪回。根據(jù)郭老等專家考證、編纂和推算的結(jié)果以及《萬年歷譜》[6]、《辭海》附錄的“中國歷史紀年表”[7]的記載,西漢晚期的漢平帝劉王干亍(kan)元始元年,即公元4年,在干支紀年上就是甲子年。而傳說中的基督耶穌誕辰年即公元元年,依干支紀年法推算則為辛酉年。換言之,從公元元年始,干支紀年中的第一個甲子年要比公元元年晚3年。再結(jié)合干支紀年中天干每十年一輪回、地支每十二年一輪回的規(guī)律,我們就可以順利地推導出公元紀年換算干支紀年的計算公式了。 具體說來,為了運算方便,我們首先需要對干支紀年法中的十天干、十二地支依其紀年順序分別進行對應編號。如下表: 天干:
地支:
然后,我們只要在運算中保證公元紀年(包括公元元年——公元59年在內(nèi))的年號在被天干輪回年10和地支輪回年12所除的余數(shù)結(jié)果均為自然數(shù),即可滿足運算要求。為此,我們需要在公元紀年基礎上再加上干、支輪回年數(shù)的最小公倍數(shù)即甲子輪回年數(shù)60之后進行運算,則可得出公元紀年換算干支紀年的具體算式如下: 1、算式一:(公元紀年+60-3)÷10 該算式運算出的余數(shù)結(jié)果,即為公元紀年所對應的天干碼。 2、算式二:(公元紀年+60-3)÷12 該算式運算出的余數(shù)結(jié)果,即為公元紀年所對應的地支碼和生肖碼。 例如:推算公元1966年對應的干支碼和生肖碼,通過算式一的計算可得余數(shù)為“3”,對應該年的天干為“丙”;通過算式二的計算可得余數(shù)為“7”, 對應該年的地支為“午”,干支紀年為“丙午年”,生肖屬“馬”。再如:推算公元2000年對應的干支碼和生肖碼,通過算式一的計算可得余數(shù)為“7”, 對應該年的天干為“庚”;通過算式二的計算可得余數(shù)為“5”, 對應該年的地支為“辰”,干支紀年為“庚辰年”,生肖屬“龍”。又如:推算公元2008年對應的干支碼和生肖碼,通過算式一的計算可得余數(shù)為“5”, 對應該年的天干為“戊”;通過算式二的計算可得余數(shù)為“1”, 對應該年的地支為“子”,干支紀年為“戊子年”,生肖屬“鼠”。 (二)公元前年號換算其對應的干支紀年之方法 公元前年號換算其對應的干支紀年,與公元年號的換算方法有很大的不同。這是因為,公元前年號與公元年號在數(shù)軸上的整數(shù)排列正好相反:即從數(shù)的絕對值上看來,公元年號是從小到大的順序排列,而公元前年號則是由大到小的倒序排列。不僅如此,由于公元紀年中缺少一個“0年”,故從數(shù)軸意義上看來,公元前年號中最后一個甲子年“公元前57年”與公元年號中第一個甲子年“公元4年”之間,理論值應為61年輪回,而并非60年一輪回。因此,我們?nèi)绻唵蔚貙澳晏栠M行數(shù)學運算,是不可能推導出其對應的干支紀年碼號的。 經(jīng)過運算后得知,公元前年號換算其對應的干支紀年之關鍵就在于:如何將公元前年號換算成與其干支對應的公元年號。只要解決了這一問題,那么有關公元前年號換算其對應的干支紀年的問題,也就迎刃而解了。換言之,公元前年號換算其對應的干支紀年碼號,應當分步進行。 第一步:用公元前年號所在的甲子輪回年的整數(shù)倍(不足“1”的計為“1”)與公元前后交替時的“輪回年理論值61年”之和,減去公元前年號,即得出公元前年號干支所對應的公元年號。計算公式為: (60X+61)-公元前年號=干支對應的公元年號 注:算式中的“X”系“公元前年號÷60”的整數(shù)“商”,當X<1時,計為“X=1”。即:我們假定X為大于或者等于“1”的整數(shù)。 第二步:我們再將換算過來的公元年號通過“(公元紀年+60-3)÷10”和(公元紀年+60-3)÷12的運算,即可分別找出該公元年號所對應的天干、地支碼號和生肖碼號,亦即公元前年號所對應的干支紀年碼號和生肖碼號。 例如:計算西周共和元年即公元前841年對應的天干地支碼號,通過“841÷60”可得其整數(shù)商為“14”,則依第一步“(60×14+61)-841”可知公元前841年干支對應的公元年號為“公元60年”,再依第二步(60+60-3)÷10”和(60+60-3)÷12的計算可知其余數(shù)分別為“7”與“9”,可見,公元前841年對應的天干碼為“庚”,地支碼為“申”,該年為“庚申年”,生肖屬“猴”。 再如:計算公元前57年對應的天干、地支碼和生肖碼。通過“57÷60”可得其整數(shù)商為“1”,則依第一步“(60×1+61)-57”可知公元前57年干支對應的公元年號為“公元64年”,再依第二步(64+60-3)÷10”和(64+60-3)÷12的計算可知其余數(shù)分別為“1”與“1”,可見,公元前57年對應的天干碼為“甲”,地支碼為“子”,該年為“甲子年”,生肖屬“鼠”。 二、黃帝紀年推算其對應的干支紀年之規(guī)律 依現(xiàn)行通說,黃帝紀年(從黃帝元年始)與我國傳統(tǒng)的干支紀年(從甲子年始)一一對應,即黃帝元年為甲子年,黃帝二年為乙丑年,……黃帝60年為癸亥年。因此,我們?nèi)砸陨媳硭械母芍Тa號對應各自的阿拉伯數(shù)字為準,只要遵循干支紀年60年一輪回的規(guī)律和確保算術運算的余數(shù)結(jié)果與所在年份的干支碼號相對應,并保證黃帝紀年60年前(黃帝元年——黃帝59年)的年號在被天干輪回年10和地支輪回年12所除的余數(shù)結(jié)果均為自然數(shù),即可滿足運算要求。由此得出黃帝紀年與干支紀年之間的換算公式如下: 1、算式一:(黃帝紀年+60)÷10 該算式運算的余數(shù)結(jié)果,即是所在黃帝紀年對應的天干碼。 2、算式二:(黃帝紀年+60)÷12 該算式運算的余數(shù)結(jié)果,即是所在黃帝紀年對應的地支碼和生肖碼。 例如:黃帝紀年2698年(公元元年),通過算式一可得余數(shù)結(jié)果為“8”,其對應的天干為“辛”;通過算式二可得余數(shù)結(jié)果為“10”,其對應的地支為“酉”,由此可知黃帝紀年2698年(公元元年)為“辛酉年”,生肖屬“雞”。又如:黃帝紀年4704年(公元2007年),通過算式一可得余數(shù)結(jié)果為“4”,其對應的天干為“丁”;通過算式二可得余數(shù)結(jié)果為“0”,其對應的地支為“亥”,由此可知黃帝紀年4704年(公元2007年)為“丁亥年”,生肖屬“豬”。如此類推。 三、公元紀年與黃帝紀年之間的互算規(guī)律 由于公元紀年與黃帝紀年都是采用的數(shù)字累積紀年方法,而且依現(xiàn)行通說,公元元年比黃帝元年要晚2697年,即公元元年對應的黃帝紀年為2698年,因此我們可以直接導出這兩種紀年之間的互算公式。 換算公式為:黃帝紀年=公元紀年+2697年。 四、干支紀年能否換算出公元紀年或者黃帝紀年 關于這個問題,由于公元紀年和黃帝紀年采用的都是數(shù)字累積紀年法,而干支紀年采用的則是60年輪回紀年法,故此,雖然已有部分專家通過設定一些繁瑣的條件進行數(shù)學運算,但是,這些運算模式依然很繁瑣而不易為公眾所掌握,有的甚至還存有誤差。事實上,鑒于前述的原因,如果不事先設定這些繁瑣的限制條件,我們是無法通過數(shù)學的簡便運算或者其他方法,直接準確地推算出干支紀年所對應的公元紀年與黃帝紀年來的。不僅如此,我們在實際生活中,尤其是在社會交往的公開場合,更直觀的是知悉公元紀年(如果我國同時適用黃帝紀年也是如此),并習慣于通過公元紀年推算干支紀年和十二生肖,而不是相反。因此,通過干支紀年反向推算公元紀年或者黃帝紀年,也沒有太大的實際意義。 注 釋: [1] 無畏(劉師培),黃帝紀年論,《國民日報匯編》,第1集,第275-276頁。 [2] 公明(宋教仁),漢族侵略史敘例,《宋教仁集》(上冊),第6頁。 [3] 孫中山,臨時大總統(tǒng)改歷改元通電,《孫中山集》,第2卷,中華書局,1982版,第5頁。 [4] 張勁東(新加坡),中華紀年應恢復“黃帝紀年”,原道網(wǎng),2007-04-04,http://www./dispbbs.asp?boardID=9&ID=23744&page=4;佚名,今年是黃帝紀元的4703年,指揮官基地網(wǎng),http:///bbs/read.php?tid=444,2006年3月4日。 [5] 張家驥:“陰陽歷日期互換的計算”,《北京大學學報》(自然科學版),1998年第 4期;馬肇曾,回歷、公歷、農(nóng)歷的換算,開遠阿專網(wǎng), 2002年2月10日,http://www./huis/ReadNews.asp?NewsID=196&BigClassName=%E5%9B%9E%E6%97%8F%E5%AD%A6%E7%A0%94%E7%A9%B6&BigClassID=25&SmallClassID=23&SpecialID=0;楊哲峰,公元與干支紀年相互換算的新方法, MYDISS網(wǎng),http://www./CS/ForumCS/viewtopic.php?p=1089&sid=4f8bd263b43505d047cd2879c727f543,2007年7月6日。 [6] 鞠德源:《萬年歷譜》,山西人民出版社,1989年版。 [7] 夏征農(nóng)主編,《辭海》,上海辭書出版社1999年9版。 |
|