我們現(xiàn)在使用的公歷(格里歷)和農(nóng)歷,都屬于一個叫“歷法”的東西。所謂歷法,通俗地講,就是安排與協(xié)調(diào)年、月、日以明確一個時間序列的法則或者說制度。歷法的制定,雖以天文學為基礎(chǔ),但嚴格意義上講屬于“約定俗成”即文化范疇,而不屬于科學范疇(天文學上用以確定時間序列的東西叫“儒略日”,不分年月,逐日排列)。所以,說某個歷法科學或者不科學,沒有意義(網(wǎng)上歷改人士動輒稱自己的歷法比格里歷科學,對此我一概嗤之以鼻)。
歷法的制定依賴于天文學觀測,這是有原因的。因為年、月、日這些生活概念最初產(chǎn)生就是基于天象觀測的,比如太陽兩次升出地平線相隔時間為一日,傍晚時月亮兩次出現(xiàn)在西方地平線上相隔時間為一月,天狼星和太陽兩次一起升起相隔時間為一年等等。但是,即便是最粗疏的觀測也能發(fā)現(xiàn),年的長度、月的長度和日的長度并不是整倍數(shù)關(guān)系?,F(xiàn)在我們知道1回歸年=365.2422日,而1朔望月=29.5306日,對于古人來說,無論怎么安排都不可能讓年月日和天象嚴密吻合,所以只能是盡量安排歷法年(簡稱歷年)和歷法月(歷月)的*平均長度*和回歸年、朔望月的長度相接近,使得年月日盡可能地吻合天象不至于偏離太遠。這里這個“盡量安排”就體現(xiàn)出古人的文化差異了。
不同文化區(qū)域的人們制訂出各自的歷法,這些歷法大致可以區(qū)分為三類:太陰歷(只考慮月亮也就是太陰運動規(guī)律和歷法相協(xié)調(diào)的)、太陽歷(只考慮太陽運動規(guī)律和歷法相協(xié)調(diào)的)和陰陽合歷(同時考慮太陰和太陽運動規(guī)律并協(xié)調(diào)二者關(guān)系的)。伊斯蘭教歷法(希吉來歷)是典型的太陰歷:太陰圓缺一次為1月,集12個月為1年,這樣1平年即為354歷日,完全不考慮太陽在天空中的位置,所以伊斯蘭教的齋月(希吉來歷的9月)在公歷中飄忽不定?,F(xiàn)行公歷(全稱叫格里高利歷 Gregorian calendar,簡稱格里歷,施行于1582年10月15日)是典型的太陽歷:平年365歷日,每400年置97閏日,閏年366歷日,完全不考慮月亮在天空中的位置,很難讓人把它的“月”和月亮聯(lián)系起來。
而我們?nèi)粘K^農(nóng)歷,其基本成分有兩個,一個歷月,一個節(jié)氣,前者體現(xiàn)出太陰歷的特點,而后者體現(xiàn)出太陽歷的特點,所以稱其為陰陽合歷。先說歷月,按農(nóng)歷規(guī)則,一朔望月即為1歷月,上文提到,1朔望月=29.5306日,這就意味著一歷月長則30日,短則29日。顯然,如果機械累計12個歷月為1歷年,則農(nóng)歷就會和希吉來歷一樣成為太陰歷,那樣的話,咱們就有幸大夏天過大年初一了。以農(nóng)業(yè)立國的中國古人為避免出現(xiàn)這種尷尬局面,就必然要考慮設(shè)置閏月,即在正常的1年12個月之外,某些年份額外增加1個月,通過19年7閏的辦法,可以調(diào)整1歷年平均長度為365.2469日,與1回歸年長度相差無幾,這樣可以確保大年初一在冬季度過。
那么,怎么安插閏月呢?按現(xiàn)行農(nóng)歷規(guī)則,這取決于二十四節(jié)氣。在天文學上,太陽的周年視運動在天球上畫了一個大圓圈,這個圈叫“黃道”,地球的赤道平面在天球上也截出一個大圓,叫做“天球赤道”,黃道和天赤道有兩個交點,一個上升時交點,叫春分點,一個下降時交點,叫秋分點,這兩個點在黃道上相隔180度,從春分點沿黃道逆時針90度有一個點,這個點叫夏至點,從秋分點沿黃道逆時針90度,這個點叫冬至點。太陽沿黃道過夏至點時,其直射點在北回歸線,過冬至點時,其直射點在南回歸線,過春分、秋分點時,其直射點在地球赤道上。黃道上兩分兩至這4個點全世界公認,但在古代中國,黃道上共分出24個點,從冬至點開始每隔15度一個點(這種劃分法叫做定氣法),依次為冬至、小寒、大寒、立春、雨水、驚蟄、春分、清明、谷雨、立夏、小滿、芒種、夏至、小暑、大暑、立秋、處暑、白露、秋分、寒露、霜降、立冬、小雪、大雪。太陽在黃道上依次經(jīng)過這些點的那一天就叫做“氣”,其中小寒、立春、驚蟄、清明、立夏、芒種、小暑、立秋、白露、寒露、立冬、大雪稱“節(jié)氣”,而冬至等稱“中氣”,合稱“二十四氣”,俗稱“二十四節(jié)氣”。
按現(xiàn)行農(nóng)歷規(guī)則,在兩個冬至日之間,如果是12個歷月,則當年不需要置閏,如果有13個月,則需要置閏(原因下面解釋),具體辦法是,從上年冬至所在歷月開始選擇第一個沒有“中氣”的歷月為閏月,其名稱為其前一個月的名字加“閏”字。舉例來說,2008年(甲子年)冬至日為當年的十一月廿四,2009年冬至是當月初七,如果不加閏月,則順序排下來是乙丑年十二月初七,因為要保證冬至日在當年十一月(按古代中國傳統(tǒng),一年十二個月按天干排序,冬至所在月為子月,次月為丑月,依次類推。中國傳統(tǒng)歷法中以寅月初一為歲首的歷法稱為“夏歷”,這樣一來,夏歷中冬至所在月必須為上年十一月,而現(xiàn)行農(nóng)歷屬于夏歷),所以需要在從甲子年十二月(不含)開始到乙丑年冬至所在月之間的11個歷月中找一個倒霉蛋充當閏月,根據(jù)月球運動表和太陽運動表,我們很快查到乙丑年五月之后的那個月只有一個小暑(在當月十五)節(jié)氣,沒有中氣,好,就是它了,“乙丑年閏五月”。需要注意的是,雖然五月之后的第四個月也是只有一個節(jié)氣(寒露)而沒有中氣,但因為不是第一個沒有中氣的月,所以很幸運有自己的正式名字“乙丑年八月”。談到這里我們就明白了,所謂“二十四節(jié)氣置閏”只是人為規(guī)定的用來置閏的一個辦法而已,看起來很“科學”,但本質(zhì)上不過是建立在科學已經(jīng)預測出來的事實基礎(chǔ)之上的一種人文關(guān)懷罷了。
不過,正是因為有了這個置閏規(guī)定,節(jié)氣成為農(nóng)歷的一個不可或缺的組成部分。而正是因為二十四節(jié)氣的不可或缺,再加上二十四節(jié)氣完全反映太陽的周年視運動(這顯然利于農(nóng)事安排),所以,它體現(xiàn)了的是農(nóng)歷中的陽歷成分。農(nóng)歷就是因為它即包含太陰歷成分又包含太陽歷成分,所以才被稱作“陰陽合歷”。
從上面的介紹可以看出,制定中國傳統(tǒng)歷法是一件非常繁瑣的事情,而且在古代,歷算家們還要用預測日月食的辦法來驗證歷法的“合”與“不合”,顯然這非得精確掌握、預測日月位置才能做到。明代以前,中國的傳統(tǒng)做法是這樣的:觀測一個周期(例如三五年或七八年)的日月位置,根據(jù)這些原始位置數(shù)據(jù)整理出一次差、二次差乃至三次差計算表,然后用這些基礎(chǔ)計算表通過外推法或插值法預測未來時日的日、月位置,再根據(jù)這些位置來排定年月日次序,并預測日月食以做校核。如果日月食不準,要么基于天人感應(yīng)理論歌功頌德說當朝帝王德感天地、上天取消日月食抑或危言聳聽稱天降警示有佞臣出,要么就要重新來過。這中間在數(shù)學運算上有進步,但大的框架是這樣的,沒有突破,所以中國天文學在這幾千年里進步并不是很大。
直到明朝末年,因為依前元郭守敬所定歷法預測日月食連連失誤,無法再拿老天爺蒙事,所以只好重訂歷法。這時候西方傳教士已經(jīng)和中土有所接觸,初步了解歐洲天文學成就且已經(jīng)受洗為基督徒的徐光啟就建議請西洋人協(xié)助修歷,而耶穌會傳教士湯若望等人也恰好想借此機會打入我朝內(nèi)部,所以雙方一拍即合,合作修歷。置閏法則什么的文化方面的規(guī)定還是從舊,但用來預測日月位置的算法發(fā)生了革命性變化,從中國傳統(tǒng)的代數(shù)法改為西方的幾何法。包括小到分圓周為360度大到哥白尼理論某些學術(shù)觀點在內(nèi)的歐洲天文學基礎(chǔ)知識第一次大規(guī)模地被引入中國。1634年新歷書編成,取名“崇禎歷書”,因為當朝內(nèi)憂外患,沒有來得及頒行就垮臺了。清軍入關(guān)后,湯若望把崇禎歷書進行刪改取名“西洋歷法新書”,呈交新的統(tǒng)治者,急于確立文化統(tǒng)治地位的清統(tǒng)治者將其命名為“時憲歷”,于1645年頒行,乾隆年間又進行了修訂(1742年),引入開普勒第一第二定律等西方天文學較新成就,并改稱“時憲書”(避清高宗愛新覺羅·弘歷諱)。辛亥革命后,新政府采用格里歷,并以民國紀年,傳統(tǒng)歷法遂廢,唯民間用之,稱“舊歷”。新中國成立后,舊歷逐漸改稱農(nóng)歷,歷年農(nóng)歷歷書均由紫金山天文臺歷算室發(fā)布。
回過頭來再說說“歷法”。歷法摻雜一些文化傳統(tǒng)因素是不可避免的,但是歷法本質(zhì)上是安排年月日的一種規(guī)則,當然越簡單越好。從計算機處理的角度出發(fā),格里歷顯然有不可比擬的優(yōu)勢,其中的一些人為的安排也不是絕對不能容忍,所以我估計這個東西在可預見的未來不會發(fā)生太大的改變,雖然歷改人士依舊會提出一個又一個自認為“無比科學”的歷法改革方案。(作者: 飛蠓)