《梦溪笔谈》补笔谈--十二气历


【原文】 历法见于经者,唯《尧典》言“以闰月定四时成岁”。置闰之法,自尧时始有,太古以前又未知如何。置闰之法,先圣王所遗,固不当议,然事固有古人所未至而俟后世者。如“岁差”之类 (1) ,方出于近世,此固无古今之嫌也。凡日一出没,谓之一日;月一盈亏,谓之一月。以日、月纪天虽定名,然月行二十九日有奇复与日会,岁十二会而尚有余日;积三十二月复余一会,气与朔渐相远,中气不在本月(2) ,名实相乖;加一月谓之“闰”,闰生于不得已,犹构舍之用橝楔也 (3) 。自此气朔交争,岁年错乱,四时失位,算数繁猥。凡积月以为时,四时以成岁,阴阳消长,万物生杀,变化之节,皆主于气而已,但记月之盈亏,都不系岁事之舒惨 (4) 。今乃专以朔定十二月,而气反不得主本月之政 (5) 。时已谓之春矣,而犹行肃杀之政,则朔在气前者是也,徒谓之乙岁之春,而实甲岁之冬也;时尚谓之冬矣,而已行发生之令,则朔在气后者是也,徒谓之甲岁之冬,乃实乙岁之春也。是空名之正,二、三、四反为实。而生杀之实反为寓 (6) ,而又生闰月之赘疣,此殆古人未之思也。今为术,莫若用十二气为一年,更不用十二月,直以立春之日为孟春之一日,惊蛰为仲春之一日,大尽三十一日,小尽三十日,岁岁齐尽,永无闰余。十二月常一大一小相间,纵有两小相并,一岁不过一次。如此,则四时之气常正,岁政不相陵夺,日月五星亦自从之,不须改旧法。唯月之盈亏,事虽有系之者,如海、胎育之类,不预岁时寒暑之节,寓之历间可也。借以元祐元年为法:当孟春小,一日壬寅,三日望,十九日朔;仲春大,一日壬申,三日望,十八日朔。如此,历日岂不简易端平,上符天运,无补缀之劳?予先验天百刻 (7) ,有余有不足,人已疑其说;又谓十二次斗建当随岁差迁徙 (8) ,人愈骇之。今此历论,尤当取怪怒攻骂,然异时必有用予之说者。

【注释】

(1)岁差:即恒星年(地球绕太阳公转一周所历时间)与回归年(又称“太阳年”,即太阳两次经过春分点所历时间)之差。前者较后者约长20分23秒。照古人的说法,太阳循黄道向西退行,约五六十年就要退一度左右。最早发现岁差的是东晋初年的虞喜(约发现于公元330年)。

(2)中气:按通行的“二十四节气”歌诀,处单数位的称“节气”,处双数位的称“中气”。

(3)橝(diàn)楔:二字分指门楣和门框,即门上面的横木和两边的立柱。

(4)舒惨:指阴阳变化。此用汉代张衡《西京赋》“人在阳时则舒,在阴时则惨”之文,由人的心情转指不同时令的阴阳变化。

(5)政:此指与节令相适应的一切人事活动(包括保护自然、养生、农事、祭祀及行政措施等等)。古人称一年有“十二月令”,则所行之事便有“十二月政”。

(6)寓:托寄。此指历法上的依附性质。

(7)百刻:指一昼夜。古人以漏壶计时,一昼夜分为一百刻。

(8)斗建:古人以北斗星的斗柄所指的方向(以等分圆周的十二地支表示)推算月份,如夏历正月斗柄指向寅即为建寅之月,二月斗柄指向卯即为建卯之月,等等,称为“斗建”。也称“月建”。

【译文】

历法见于古代经书的,只有《尚书·尧典》说到“用闰月调整时日,以定四时节气,而成一岁之历象时令”。设置闰月的办法,因为尧的时代才开始有,远古以前的情形又不知是什么样子。设置闰月的办法,是古代先圣王所流传下来的,固然不应提出异议,然而事情本来就有古人未曾做到而等待后人来做的。如“岁差”之类,直到近世才发现,这当然也就没有以今变古的嫌疑。凡是太阳出没一次,就叫做一日;月亮亏盈一遭,就叫做一月。用日、月记录天体运行虽是固定的名目,然而月亮运行二十九日有余复与太阳会合,每年十二次会合而还有剩余的时日;积累三十二个月就会剩余一次会合的时日,节气和朔日的错位越来越远,以致中气不在当月,名实就相乖违了;为此就要加一个月,叫做“闰月”,所以加闰月也是出于不得已,犹如建造房子的门要加门楣和门框。自此以后,节气和朔日就相互冲突,导致历法上的年岁错乱,四季失位,测算数据繁琐复杂。大凡积三月以为一季,积四季而成一年,阴阳二气的消长,万物的生死循环,所有的变化节奏,无不归结于节气的转换,而只按月亮的盈亏造历法,便都与岁时运转的阴阳变化没有关联。现在却专以合朔确定十二个月,而节气反而不能主导当月的人事活动。譬如说,历法季节已称为春天了,而人事活动仍按万物萧条的节令进行,朔日在节气之前就是这种情况,因而白白地称说某季是乙岁的春天,实际它还是上一年甲岁的冬天;反过来说,历法季节还称某季是甲岁的冬天,而人事活动已开始按万物生长的节令进行,朔日在节气之后就是这种情况,因而白白地称说某季是甲岁的冬天,实际它已是下一年乙岁的春天。如此,所谓正月就是徒有其名,反而是二月、三月或四月合乎作为一年之始的实际。这样在历法上,反映万物生长或萧条的节气反而是附属的性质,而由此又生出闰月的累赘,这大概是由于古人未曾深入思考。现在要改进历法,没有比采取如下办法更好的,就是用十二个中气为一年,更不用十二个朔闰月,直接以立春之日为孟春正月的第一日,惊蛰为仲春二月的第一日,大月都满三十一日,小月都满三十日,岁岁整齐无余日,永远不用闰月。十二个月恒常一大一小相间,即使有两个小月并列,每年也不过一次。这样,就使四时节气永远与历法相合,每年的岁时活动不相侵越,自然顺从日月五星的运行规律,也不需要再修改旧的历法。只是月亮的盈亏,虽然有些事像是跟它有关系的,如海潮的起落、胎生的孕育之类,但它不关乎岁时寒暑的节气变化,把它附载于上述历法中就可以了。权且以元祐元年为例而示其法:当孟春正月为小月,则一日干支为壬寅,三日月望,十九日为合朔日;仲春二月为大月,则一日干支为壬申,三日月望,十八日为合朔日。如此,历法岂不是简易、整齐而平稳,上符天体的运行,而无修补测算的烦劳?我先前曾测验每一昼夜的一百刻,发现时刻有时有余有时不足,有人已怀疑我的看法;又曾说每年十二次斗建当是随着岁差而迁移的,有人更惊诧为骇人耳目。现在我这关于制历方法的新论,大概尤其会被一些人大惊小怪、攻击怒骂,然而将来必定会有人采用我的学说。