為什么二十四節(jié)氣是農(nóng)歷的,但日期反而在公歷中是固定的? 為什么農(nóng)歷會有閏月?為什么農(nóng)歷閏月不像公歷閏日那樣,固定在某個月? 為什么有些年的臘月只有二十九天,沒有大年三十? 什么時候我的公歷生日和農(nóng)歷生日會重合? 中國古人知道十二星座嗎?
雖然公歷普遍推行,但大家在生活中也會接觸到農(nóng)歷,難免會產(chǎn)生如上的疑惑。其實,只要了解農(nóng)歷的制定規(guī)則,這些問題都會不言自明。
我并非專業(yè)人士,只是之前偶然對農(nóng)歷的制定感興趣,就查了點資料。以下用非專業(yè)也好理解的語言來解釋一下;可能不是絕對嚴謹,但對非專業(yè)人士來說夠用了。如有錯誤,請指正。
0. 農(nóng)歷不是“陰歷”。民間常常會把公歷和農(nóng)歷稱為“陽歷”“陰歷”,這種說法是錯誤的。“陽歷”指的是按照太陽運動制定的一類歷法,大致把地球繞太陽公轉(zhuǎn)一周的時間定為一年。格里高利歷(即現(xiàn)行的公歷)只是陽歷的一種。在陽歷中,雖然有“月”的概念,但“月”只是大致反映月相周期的長度,而不反映月相的實際周期。相應(yīng)地,“陰歷”指的是按照月亮運動制定的一類歷法,把月相變化的一個周期定為一個月。伊斯蘭歷就是一種陰歷。由于陰歷不考慮太陽運動,因此伊斯蘭歷的新年在公歷年中是逐年推移的,可以出現(xiàn)在公歷的任何一個月份。
而中國現(xiàn)行的農(nóng)歷,是一種“陰陽合歷”,即同時考慮太陽和月亮運動制定的歷法。它是靠天文觀測制定的,可以同時反映太陽和月亮的實際運動情況。
1. 二十四節(jié)氣是根據(jù)太陽運動確定的。春分、夏至、秋分、冬至,合稱“二分”“二至”:二分指的是太陽直射赤道的時刻(此時全球絕大多數(shù)地區(qū)晝夜等長,所以叫分),二至指的是太陽直射點落在北/南回歸線的時刻(此時北半球晝/夜達到最長,所以叫至)。由于分和至的概念是根據(jù)太陽運動定義的,所以傳統(tǒng)上使用陽歷/公歷的地區(qū)的語言里也有分和至的概念,例如英語的equinox和solstice。
二分二至是將太陽運動位置(不是時間)的周期四等分。而在農(nóng)歷中更進一步,將太陽運動位置的周期二十四等分,就是二十四節(jié)氣了。由于二十四節(jié)氣和公歷都是根據(jù)太陽運動制定的,二十四節(jié)氣在公歷中的日期自然也就是固定的了。但由于公歷的365天和太陽運動的周期365.2422天有差距,逐年累積,所以一個節(jié)氣在每個公歷年中的具體日期會有一兩天的誤差。(從地球上來看,每經(jīng)過365.2422天,太陽運動回到和開始時相同的位置;所以這個周期叫“回歸年”,在歷法中是非常重要的概念。)(順便一提,公歷設(shè)置閏日的目的就是為了調(diào)和365天與365.2422天的差距。)
確定節(jié)氣,這是制定農(nóng)歷的第一步。
2. 農(nóng)歷月是根據(jù)月相周期確定的。新月出現(xiàn)的時刻稱為“朔”,滿月出現(xiàn)的時刻稱為“望”。將每個朔所在的日子定為農(nóng)歷月的初一。由于農(nóng)歷月是根據(jù)兩次朔(或望)出現(xiàn)的間隔制定的,因此也叫“朔望月”。由于太陽和月亮的運動是不均等的,兩次朔之間的間隔平均約為29.5天,因此,一個農(nóng)歷月可能是29天或30天。
確定朔望月,這是制定農(nóng)歷的第二步。值得注意的是,此時只是確定了每個朔望月的開始結(jié)束日子,并沒有確定每個月的名稱。
3. 每個月的名稱是由節(jié)氣決定的。將冬至所在的月定義為十一月/冬月。如果兩個十一月之間(不含)有11個月,那么這11個月依次稱為十二月/臘月、正月、二月、……、十月。
確定每個月的名稱,這是制定農(nóng)歷的第三步。通常,兩個十一月之間(不含)剛好有11個月;但有時候會多出一個月,此時就需要設(shè)置閏月了。
4. 設(shè)置閏月是由節(jié)氣決定的。當兩個十一月之間(不含)有12個月時,需要設(shè)置閏月。設(shè)置閏月的規(guī)則是:依然按照臘月、正月、……的順序依次排下來,直到遇到第一個沒有中氣(稍后解釋)的月份;如果這個月份的前一個月是“X月”,那么這個月就叫“閏X月”。之后的月份再從X+1開始排下去。閏月的設(shè)置以十九年為周期,十九年七閏。因此,一個人的“19整數(shù)倍歲”的公歷生日和農(nóng)歷生日會重合(文章最后有詳細解釋;這只是一般情況,有些人生日在19整數(shù)倍歲那天也會有一天的差距,比如我自己就是)。
所謂中氣,指的是二十四節(jié)氣中序號為偶數(shù)的那些節(jié)氣,即雨水、春分、谷雨、小滿、夏至、大暑、處暑、秋分、霜降、小雪、冬至、大寒這十二個節(jié)氣。(這里有個彩蛋:十二中氣和十二星座有著密切關(guān)系。詳見文章最后。)
置閏,這是制定農(nóng)歷的第四步。
5. 最后一步就是定年了。很簡單,以正月初一為一年的開始,兩個正月初一之間的時間稱為一年。一個農(nóng)歷年的長度約為354天(農(nóng)歷平年)或384天(農(nóng)歷閏年)。
值得注意的是,在傳統(tǒng)中有以冬至為一歲的開始,兩個冬至日之間的時間稱為一歲的說法。換言之,傳統(tǒng)的“年”和“歲”不完全是一個東西。“歲”其實就是以冬至為準的一個回歸年,一“歲”的長度約為365天。
總結(jié)一下。
在公歷中,根據(jù)太陽運動的周期,定出一年的長度為365天。每個月的長度只是大致跟月相周期的長度差不多,并不反映實際的月相變化;大小月的設(shè)置完全是人為規(guī)定。閏年的設(shè)置則是為了調(diào)和公歷年365天和回歸年365.2422天的差距,大致四年一閏,閏日固定在2月(也是人為規(guī)定)。
而在農(nóng)歷中,首先確定的是二十四節(jié)氣和朔望月,它們是根據(jù)天文觀測得到的,分別精確地反映太陽運動和月相周期。然后根據(jù)冬至所在的月定出十一月,并根據(jù)兩個十一月之間是否多出一個月來設(shè)置閏月(具體閏幾月取決于何時是第一個無中氣之月)。年的起止則是最后確定的。
農(nóng)歷采取如此復雜的規(guī)則,是有其底層邏輯的:我國自古就是農(nóng)業(yè)大國,“農(nóng)歷”為的就是確定農(nóng)時。用這種方法,可以確保二十四節(jié)氣跟太陽運動對應(yīng),以指導農(nóng)業(yè)生產(chǎn)。而將冬至所在月規(guī)定為十一月、設(shè)置閏月、把定年放到最后,則是為了調(diào)和12個朔望月(約29.5*12=354天)和回歸年365.2422天的差距,以確保二十四節(jié)氣在農(nóng)歷年中也在有限的范圍內(nèi)浮動,而不像純陰歷的伊斯蘭歷那樣,逐年偏移。
由此看來,農(nóng)歷的制定比公歷要復雜、精巧得多;農(nóng)歷并不是老舊、落后的東西。
最后解釋一下,閏月是如何調(diào)和12個朔望月和回歸年的差距的。一個朔望月約為29.5天,因此,沒有閏月的一個農(nóng)歷年(12個朔望月)約為12*29.5=354天。而一個回歸年為365.2422天。為了保證農(nóng)歷年和回歸年在更廣的時間尺度上不存在偏移,就在兩個冬至之間多出一個月的那些農(nóng)歷年中設(shè)置閏月。其結(jié)果大致就是“十九年七閏”。有閏月的農(nóng)歷年約為354+30=384天;“十九年七閏”,那么19個農(nóng)歷年約為12*354+7*384=6936天。而19個回歸年則是19*365.2422=6939.6天。這樣,19個農(nóng)歷年和19個回歸年就重合了(注意,農(nóng)歷閏月的設(shè)置是由天文觀測得到的,實際上并沒有這3.6天的誤差;前面說的“十九年七閏”以及354、384的天數(shù),只是為了方便計算)。而在公歷中,為了調(diào)和365天跟365.2422天的差距引入了閏日,這樣,19個公歷年和19個回歸年也就重合了。所以,每隔十九年,農(nóng)歷日期和公歷日期就會回到同一天。
(按照月數(shù)來算更簡便。“十九年七閏”,那么19個農(nóng)歷年中有12*19+7=235個朔望月。一個朔望月的平均長度為29.530588天,19個農(nóng)歷年合19*29.530588=6939.69天,跟19個回歸年的6939.60天相差無幾。)
最后的最后的彩蛋,是十二中氣和十二星座(黃道十二宮)的關(guān)系。所謂的黃道十二宮,其實就是把一個回歸年中太陽的軌跡等分成十二段,并把每一段對應(yīng)到一個星座。而每個星座開始的日子,正好也是中氣所在的日子(定義如此,不是巧合:如正文第1. 條所說,二分二至是使用陽歷/公歷的地區(qū)也有的概念)。大家可以看日歷驗證一下,公歷月中的第二個節(jié)氣,就是今年下一個星座開始的日子。
雖然中國古代有著獨立于西方的星座體系(二十八星宿),但早自隋代,黃道十二宮就隨著佛教文化傳入了中國。知名的例子是,蘇東坡曾經(jīng)寫過:
大概就是說:韓愈韓退之是摩羯座,我蘇軾也是摩羯座,所以我倆都命不好,犯小人……是不是有星座運勢那味兒了?蘇軾生于北宋景祐三年十二月十九日(公歷1037年1月8日),確實是摩羯座!雖然中國古代不用公歷,但二十四節(jié)氣是先秦時期就開始使用的。所以古人只要查一下生日在什么節(jié)氣之間,就可以很容易地知道自己是什么星座了!
參考資料