常说的“十九年七闰法”是怎么回事呢?


蕐夓文朙中樞府 二七六二五零零年五月廿九
精選


公眾號:舞天玄姬

發表時間:西曆2019-09-08

本站已獲授權


夏历闰月、闰周、闰年



夏历是阴阳合历,大家应该已经知道了,需要通过设置闰月,使一年的平均天数与地球平均绕太阳转一圈的时间相等

所以,我们需要知道几个概念,闰月、闰周和闰年。



闰月


闰月指的是阴阳历中的一种现象,阴阳历是按照月亮的圆缺即朔望月安排大月和小月,一个朔望月的长度是29.5306日,是月相盈亏的周期。


阴阳历规定,大月30天,小月29天,这样一年12个月共354天,这样十二个朔望月构成汉历年,长度为29.5306×12=354.3672日,回归年365.2422日少10.88天(即将近11天,每个月少0.91天(近1天)。


阴阳历的月份没有季节意义,一年与阳历的一年相差11天,只需经过17年,阴阳历日期就同季节发生倒置


譬如,某年新年是在瑞雪纷飞中度过,17年后,便要摇扇过新年了。使用这样的历法,自然是无法满足农业生产的需要的。


所以我国的阴阳历自秦汉以来,一直和24节气并行,用24节气来指导农业生产。


如果按十三个朔望月构成夏历年,长度为29.5306×13=383.8978日,比回归年又多出18天多。


按上述规定制定历法,就会出现天时与历法不合、时序错乱颠倒的怪现象。这就是矛盾之处。


为了克服这一缺点,我们的祖先在天文观测的基础上,找出了“闰月”的办法,保证夏历年的正月到三月为春季四月到六月为夏季七月到九月为秋季十月到腊月为冬季同时保证了夏历岁首在冬末春初(以上均指夏历月份)。



闰周


设置闰月的周期。在阴阳历即中国通用的夏历中,12个朔望月比一回归年约少11天,需要设置闰月来调整季节。


在春秋战国时,人们发现19个回归年(见年)与235个朔望月(见月)非常接近。“四分历”就是按二者完全相等来制订的,19年中安排7个闰月,它的闰周就是19年7闰。


但是,闰周的名称古人很少使用,古人称19为章岁,7为章闰。后人把章岁和章闰合称为闰周。


西汉制定《太初历》时,规定以无中气之月为闰月此后都采用这种置闰方法。


这时,新的闰周是更精密地测定回归年和朔望月之后的自然结果。它对于安排闰月来说意义就不大了。从唐李淳风的《麟德历》起,就不再定闰周。


现行西历的400年97闰日法,相当于中国古代传统历法的“闰周”具体是:加在公元年号能被4整除的年份(世纪年除外),世纪年被400整除的年份。



闰年


夏历(农历)“闰月”与西历(阳历)“闰年”


如果不注意,大概很多人认为“闰月”“闰年”是一个意思,其实不是,虽说只是一字之差,所包含的意思却相差很远。


世界上的历法共有三类:


一类是阳历就是以地球绕太阳运转一圈的时间为一年,年的月数和月的日数可人为规定


一类是阴历就是以月球绕地球运转一圈的时间为一个月,只有年的月数可以人为地规定


第三类是阴阳历就是以月球平均绕地球转一圈的时间为一月,但通过设置闰月,使一年的平均天数又与地球平均绕太阳转一圈的时间相等


西历“闰年”我们通常所说的一年365天,其实是个约数,准确的数字应是365.2422日。那么一年365天,就比实际的一年少0.2422日,这样四年之后就比实际的一年少了近一天。


为了弥补这个差值,历法中规定,4年设一闰,即能被4整除的年份为闰年,另附加规定,凡遇世纪年(末尾数字为两个零的年份),必须能被400所整除才算闰年,其它的整百年不是闰年,即“百年不闰”


如1996年即闰年,2000年也是闰年,而1700年则不是闰年。西历闰年的二月有29天,2月29日为闰日,西历闰年有366天。也就是说西历闰年的二月并不叫闰二月。



“闰月”则为阴阳历所特有。


闰月(Leap Month):是一种历法置闰方式。在亚洲(尤其在中国),闰月特指夏历(民间亦称农历)每逢闰年增加的一个月(为了协调回归年与夏历年的矛盾,防止夏历年月与回归年及四季脱节,每2至3年置1闰。


古代曾采用19年置7闰的闰周,到唐代的《麟德历》时废除了固定闰周,采用无节令月置闰,因此是该闰时置闰)。有时,闰月也指西历的闰年中包含闰日的月份(即公历闰年的2月)。


中国夏历(农历)作为阴阳历的,每月的天数依照月亏而定,一年的时间以12个月为基准,平年比一回归年少约11天。


为了合上地球围绕太阳运行周期即回归年,每隔2到4年,增加一个月,增加的这个月为闰月。闰月加到哪个月,以夏历历法规则推断,主要依照与夏历的二十四节气相符合来确定。


在加有闰月的那一年有13个月,历年长度为383至385日,这一年也称为闰年。如1984年鼠年的农历中,有两个十月,通常成为前十月和后十月(即闰月)。


关于中国的夏历(农历),许多人存在着误解,常常把夏历混同于阴历。

常说的“十九年七闰法”是怎么回事呢?

中国的夏历并不是阴历,而是阴阳历。夏历中的阴历成份和阳历成份各有用处,阴历可以指明月亮的盈亏,还可以预告潮汐的大小阳历部分二十四节气可以知道季节和一年天数


其中,二十四节气就是中国古代的一大发明,它表明了地球在轨道上的位置,反映了太阳的周年视运动,最适合指导农事活动,因此作为阴阳合历的中国传统历法才叫做夏历(农历)。所以,夏历并不等同于阴历,如果把夏历称为阴历就不妥当了。


太阳、月亮是人们挂在天上的日历。年复一年,地球围绕着太阳不停运转,地球上的万物也在日月轮回中生息繁衍。


夏历的历年长度是以回归年为准的但一个回归年比12个朔望月的日数多,而比13个朔望月短,天文学家在编制夏历时,为使一个月中任何一天都含有月相的意义,即初一是无月的夜晚,十五左右都是圆月就以朔望月为主,同时兼顾季节时令。




中国传统的夏历由于把日月合朔(太阳和月亮的黄经相等,月亮看不见的日期作为月首,也就是“初一”望日(月圆的时候),则是“十五”。月球相对于太阳绕地球公转一周,称为朔望月。






另一方面,“二十四节气”按照寒暑情形,敬授农时,以太阳运行为标准,但是两者周期并不同步。






置闰是阴阳合历带来的另一个难题。朔望月的平均长度约为29.53日,因此阴历规定大月30日,小月29日。这样一年12个月,是354天或355天。阳历则以地球绕太阳公转一周的时间为一年,大约为365天






由此,阴历与阳历一年相差10天左右,三年就要相差一个多月了。这样,每两三年就得增加一个“闰月”






所以,需要“置闰”来解决这个问题。




一般是“十九年七闰”实际上会更复杂,七个闰月安插到十九年当中,其安插方法可是有讲究的。夏历闰月的安插,自古以来完全是人为的规定,历代对闰月的安插也不尽相同。


秦代以前,曾把闰月放在一年的末尾,叫做“十三月”


汉初把闰月放在九月之后,叫做“后九月”


到了汉武帝太初元年,又把闰月分插在一年中的各月以后又规定“不包含中气的月份作为前一个月的闰月”直到现在仍沿用这个规定。



闰月计算法


置闰规则


在古代,日的定义以地球自转一周为一日。其中以太阳离地平线最远的一个时辰为子时,相当于北京时间23:00~1:00。但是夏历中一天始于子正(24:00),而非夜子初(23:00)。


月策与置末规则朔日为每月起点(初一日)朔日(月初一日)到下个朔日(下月初一日)有多少天、这月就有多少天。有30天为大月、有29天为小月;唐朝武德二年(公元619年)以前用的是平朔武德二年(公元619年)以后用的是定朔


年策与置闰规则:以冬至日必须在子月(寅正十一月)上个冬至月(寅正十一月)到下个冬至月如有12个月就不置闰。如有13个月就要置闰,以上个冬至月之后第一个无中气的月份为闰月,在几月后面就称闰几月。 


例如:


壬子年(2032)冬至月癸丑年(2033)冬至月之间有12个月,不置闰。


癸丑年(2033)冬至月甲寅年(2034)冬至月有13个月必须置闰。


在癸丑年(2033)冬至月(十一月)后第一个无中气之月该月的下一个月,就定为闰月。它正好十一月后,所以就叫闰十一月。



为什么采取“十九年七闰”的方法呢? 


夏历属于阴阳历:其年份分为平年闰年平年为12个月闰年为13个月月份分为大月和小月,大月30天,小月29天,其平均历月等于一个朔望月。


一年中哪个月大,哪个月小,年年不同,由计算决定,平年全年354~355天,闰年全年383~384天。由于12个朔望月为一年的天数比太阳年约差11天,所以设置闰月以使平均历年为一个回归年。


一个朔望月平均是29.5306日,一个回归年有12.368个朔望月,0.368小数部分的渐进分数是1/2 、1/3 、3/8 、4/11 、7/19 、46/125, 即每二年加一个闰月,或每三年加一个闰月,或每八年加三个闰月……


经过推算,十九年加七个闰月比较合适。因为十九个回归年=6939.6018日,而十九个夏历年(加七个闰月后)共有235个朔望月等于6939.6910日,这样二者就差不多了。


夏历年中历月朔望月长度29.5306日为基础所以大月为30日,小月为29日。为保证每月的头一天(初一)必须是朔日,就使得大小月的安排不固定,而需要通过严格的观测和计算来确定。


因此,夏历中连续两个月是大月或是小月的事是常有的甚至还出现过如1990年三、四月是小月,九、十、十一、十二连续四个月是大月的罕见特例。


常说的“十九年七闰法”是怎么回事呢?

推算“十九年七闰”


为了解决阴阳历中置闰的问题,产生了一个算法“通其率”,即“落下闳算法”,也叫辗转相除法,或“欧几里德算法”(至于怎么来的,都说是“古希腊”传给中国的,相信吗?


“更相减损术”也是由此而来的,并因此衍生了一系列的算法!


具体计算方法:






最好的办法就是求出回归年日数朔望月的日数最小公倍数:我们希望m个回归年的天数与n个朔望月的天数相等,也就是应有等式:


m×365.2422=n×29.5306


在这个等式中我们不能直接求出m和n,但可以求出它们的比例


/N29.5306 /365.2422


其近似值为:3/37、5/62、8/99、11/136、14/173、19/235、27/334


在这些分式中,分子表示回归年的数目分母表示朔望月的数目


例如第六个分数式19/235  =  19/(19×127) 


表示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个月即置闰。置闰的月从“冬至”开始,当出现第一个没有“中气”的月份,这个月就是闰月,其名称是在前个月的前面加一个“闰”字。


二十四节气夏历中的日期逐月推迟的,于是有的夏历月份,中气落在月末,下个月就没有中气。


一般每过两年多就有一个没有中气的月,这正好和需要加闰月的年头相符。所以夏历就规定把没有中气的那个月作为闰月。


中国传统历法排定次序,首先确定两个冬至之间岁实长度,然后排定历月,再看两个冬至之间除去两个冬至所在月外有多少个整月必定是十一个或者十二个。虽然民间以正月初一为岁首,但是官方排定历法却是以两个连续的冬至为始终)。


如果是十一个整月,则无需置闰,即使出现无中气的月也无需置闰。


如果有十二个整月则需置闰,此时置闰依照“无中气规则”,而且闰前不闰后。


但是,我们之前提到关于“年策与置闰规则”说是有13个月就需要置闰,而这里却说有12个整月也需要置闰,这是怎么回事呢?




年策与置闰规则:以冬至日必须在子月(寅正十一月)上个冬至月(寅正十一月)到下个冬至月如有12个月就不置闰。如有13个月就要置闰,以上个冬至月之后第一个无中气的月份为闰月,在几月后面就称闰几月。 



       



这就涉及到历法的置闰与“平气注历”“定气注历”导致的影响了。






西汉初制定太初历时,把闰月分插在一年的各月,并规定以没有中气的那几个月作为闰月,月序仍用上个月的月序,只要称其为“闰某月”。这一置闰规则在采用平气的历法中最合理的。






到清代的时宪历时,则改用定气注历,如继续单纯以没有中心置闰的规则,有可能一年要置两个闰月因此,又补充规定:以两次冬至之间包含有13个月的定为闰年,闰年的第一个没有中气的月定为闰月。这一规则一直沿用至今。




由于这十二个整月中,只有除了冬至以外的十一个中气,所以至少有一个月无中气。十二个月中第一个无中气的月为闰月,它的名字叫“闰x月”,这个x,是它前一个月的名字。


月序的确定,是以冬至所在月为子,依照地支顺序,下一个月为丑,再下一个月为寅,如此类推,到下一个冬至所在月又回到了子。


由于汉以后的历法都是建寅,以寅月为正月,这样冬至所在月必然是十一月。可见所谓的“冬至所在月必然是十一月”并不是什么规则。


而是历法排定方法中,“冬至所在月为子月(汉代开始)”、“以寅月为正月”、“当两个冬至点之间(不包括两个冬至点)在月份,还有十二个整月时,要以第一个无中气月为闰月”而导致的自然出现的结果。




所以在编排夏历历法时,无中气的月,并不一定要置闰。 






平气法定气法是确定24节气的两种办法,“无中气之月为闰月”是置闰的办法。如果能确定了24节气的时间,再根据“无中气之月为闰月”来置闰,就可以排定年历了。现在的农历就是按照这种方式做的。





0 評論 - 登錄 參與評論