农历为什么会有闰月?——农历置闰月是为了协调回归年与农历年的矛盾。回归年与农历年有什么矛盾呢?先记住:回归年的总长度为365.2422日,朔望月的长度为29.5306日。十二个朔望月构成农历年,长度为29.5306×12=354.3672日,比回归年少10.88天即将近11天,每个月少0.91天,近1天。依此,如农历年某年春节为大雪纷飞的冬天,第二年的春节就会在季节上提前11天,第16个农历年就会出现在赤日炎炎的夏天。如按十三个朔望月构成农历年,长度为29.5306×13=383.8978日,比回归年又多出18天多。
如果按上述规定制定历法,就会出现天时与历法不合、时序错乱颠倒的怪现象——这就是矛盾。
为了克服这一缺点,我们的祖先在天文观测的基础上,找出了“闰月”的办法,保证农历年的正月到三月为春季,四月到六月为夏季,七月到九月为秋季,十月到十二月为冬季,也同时保证了农历岁首在冬末春初。农历年中月以朔望月长度29.5306日为基础,所以大月为30日,小月为29日。为保证每月的头一天(初一)必须是朔日,就使得大小月的安排不固定,而需要通过严格的观测和计算来确定。因此,农历中连续两个月是大月或是小月的事是常有的,甚至还出现过如1990年三、四月是小月、九、十、十一、十二连续四个月是大月的罕见特例。那么多长时间加一个闰月呢?最好的办法就是求出回归年日数与朔望月的日数的最小公倍数:我们希望m个回归年的天数与n个朔望月的天数相等,也就是应有等式:
m×365.2422=n×29.5306在这个等式中我们不能直接求出m和n,但可以求出它们的比例:
这个比例的近似值分别为:
在这些分式中,分子表示回归年的数目,分母表示朔望月的数目。例如第六个分数式表示19个回归年中必须加7个闰月。
19个回归年中加7个闰月的结果比较:19个回归年=19×365.2422=6939.6018(天)一个朔望月有29.5306天,235个朔望月=235×29.5306=6939.6910(天)19个回归年中加7个闰月后,矛盾消除得只差:6939.6910-6939.6018=0.0892(天)——即2小时9分多,这已经是够精确的了。
所以,农历就采用了19年加7个闰月的办法,即“十九年七闰法”,把回归年与农历年很好地协调起来,使农历的米旦(春节)总保持在冬末春初。古人把235个朔望月称之为“闰周”。农历置闰的方法可以使农历年的平均长度接近回归年,而农历中的月又有鲜明的月相特征,保持了公历和阴历两全其美的特点。现在置闰的方法是两个冬至之间,如仅有12个月则不置闰,若有13个月即置闰。置闰的月从“冬至”开始,当出现第一个没有“中气”的月份,这个月就是闰月,其名称是在前个月的前面加一个“闰”字。农历闰哪个月?决定于一年中的二十四个节气。我国农历将二十四个节气分为十二个节气和十二个中气。二十四节气在农历中的日期是逐月推迟的,于是有的农历月份,中气落在月末,下个月就没有中气。一般每过两年多就有一个没有中气的月,这正好和需要加闰月的年头相符。所以农历就规定把没有中气的那个月作为闰月。例如2001年农历四月二十九日是中气小满,再隔一个月的初一才是下一个中气夏至,当中这一个月没有中气,就定为闰月,它跟在四月后面,所以叫闰四月。