公元1118年,礼部员外郎李焘上奏说:“《统元历》用了很久了,跟实际的天象对不上,确实应该更换;《大衍历》虽然号称很精确,但用了也才三十多年,以后要长期使用也很困难啊。再说,历法没出现偏差,就不知道它哪里错了;没经过验证,也不知道它对不对。以前仁宗皇帝用《崇天历》,从天圣年间到皇祐四年十一月发生的日食,两个历法都没能准确预测,于是下诏参考唐朝的八种历法和宋朝的四种历法重新制定,结果都认为《景福历》最精确,所以想修改历法。但是刘羲叟说:‘《崇天历》颁布使用超过三十年了,偏差并不大,怎么能因为偶然的天象变化,就轻易地考虑修改呢?’他还说:‘古代圣人制定历法的目的,只是为了让人们知道时间,虽然会预先推算星象的交会,但不必精确到分秒,有时会快有时会慢,这未必一定是历法本身的错误。’于是就采纳了刘羲叟的意见,继续使用《崇天历》。刘羲叟在历法方面的造诣是宋朝第一,欧阳修、司马光他们都遵从他的说法。《崇天历》重新启用后,又过了十三年,到了治平二年(公元1065年),才改用《明天历》,参与修订历法的官员周琮等人也都升官了。三年后,验证熙宁三年(公元1070年)七月的月食,发现《明天历》预测不准,于是又下诏恢复使用《崇天历》,并且取消了周琮等人的升官。

熙宁八年(公元1075年),才又开始使用《奉元历》,沈括实际上是这个方案的主要负责人。第二年正月发生的月食,《奉元历》又预测错了,皇帝下诏询问修订历法并受到恩宠的人的名字,沈括详细地奏报解释,才没有被罢官。一些有识之士认为沈括强词夺理,认为他并不精通历法。这件事让人们明白了刘羲叟的话是对的。我希望能够严厉训诫历官们,让他们更加用心思考,不要固执己见,认为现在的历法就一定是对的。还要多招募有才能的人,认真反复讨论,进一步提高历法的精度,编制新的历法。”因为李焘曾经奉诏监视和检验新历法,发现新历法在太阴和荧惑(火星)的计算上存在偏差,担心自己编写的历法也会有较大的偏差,遭到精通历法的人的批评,所以就下诏在全国各地寻找精通历法的人。过了很久,福州一个平民阮兴祖上奏说新历法有错误,荆大声没有向朝廷汇报此事,于是朝廷就提拔阮兴祖为天文局的官员。

一开始,新历法是大声和孝荣一起制定的。后来,大声另辟蹊径,用太阴九道变赤道的方法,跟孝荣的方法不一样了。

然后,秘书少监兼崇政殿说书、兼权刑部侍郎汪大猷等人说:“我们奉旨到御史台监集局,参与计算明年太阴星宿的度数,并撰写注释呈给皇上。现在大声他们计算明年正月到年底九道太阴变赤道的数值,要在十二月十五号之前完成草稿。到正月里,我们召集历官到御史台,用浑仪来检验计算结果的精确程度。” 皇上就同意了他们的建议。

五年后,国子司业兼权礼部侍郎程大昌、侍御史单时、秘书丞唐孚、秘书郎李木等人说:“都省下灵台的历算官盖尧臣、皇甫继明、宋允恭等人说:‘现在重新制定了《乾道新历》,朝廷多次委派官员进行验证,日月交食的计算结果已经很接近天象,五星运行的度数也符合实际情况,只有九道太阴的计算还不太精确。我们一直在寻找精通历法的人来改进新历,半年了都没找到符合要求的人,只有荆大声另创了一种方法,跟刘孝荣的《乾道历》一起验证了正月里九道太阴的运行度数。现在这两种方法都未能完全符合天象,《乾道历》中太阴的计算方法跟其他历法相比,也都并非尽善尽美。我们现在把他们的精华部分提取出来,编制成一种新的方法,首先计算到正月里九道太阴在赤道上的度数,希望能委派官员与孝荣、大声一起验证。如果这种方法很精确,就用这个改进后的九道经法,请允许我们跟验证官员一起,再次召集孝荣、大声等人到御史台,推算明年九道太阴在赤道上的度数,确定月份进行验证,然后采用最好的方法。’程大昌他们已经用大声和孝荣提供的正月上中旬太阴九道星宿度数到太史局进行了测量验证,接下来还要取大声、孝荣、尧臣三家提供的正月下旬太阴星宿度数,进行对比查看,测量验证其精确程度,尧臣、继明、允恭请求提供今年太阴九道星宿度数。他们想按照每个人的请求,限定一个月的时间,分别提供今年太阴九道变黄道正对赤道的度数,按照经文写成草稿,送到御史台让验证官员随时检查,然后才能看出其精确程度。”

裴伯寿上书说:

孝荣之前预测丁亥年四月初一和八月十五都会发生月食,结果都没对上。他还预测了去年二月十五晚上二更五点会发生月食,而且月食程度超过九分,月亮出来后就会恢复圆满。我曾经跟宰相说过,这次月食应该是在月亮出来后才开始,而且《纪元历》上也这么写,说月亮开始恢复光亮是在戌时初二刻,完全恢复圆满是在戌时正三刻。那天晚上,月亮刚出来的时候有点薄云,等到天黑的时候,月亮已经开始食既了,戌时初三刻果然开始恢复光亮,这证明月亮出来后才开始食既的说法是对的;月亮完全复圆是在戌时正三刻,也就是二更二点,我的预测完全正确。孝荣说根据现行历法计算,交食发生在先天六刻,而我预测的月食复圆却是在后天四刻,这说明新历的误差太大了。

首先,关于步气朔(推算朔日的算法),孝荣之前说气差了一天,后来观察景表才发现自己错了,这说明他根本不懂验气。我验气的话,就算差个一两刻也能知道。再说《纪元历》的节气,是从崇宁年间就开始测验的,到现在已经六七十多年了,虽然可能会有细微的误差,但如果没有实际测验,怎么知道它错呢?日月合朔(月亮和太阳交汇)一般用交食来验证,现在交食的时间都错了,那朔日肯定也对不上了。

其次,关于步发敛(推算月亮盈亏的算法),新历只说了卦候(占卜用的天文现象),并没有详细的计算方法。

再次,关于步日躔(推算太阳运行的算法),新历用的是《纪元历》中二十八宿的赤道度数,到了分宫(划分区域)的时候,却突然减少了《纪元历》中规定的三十多刻,完全没有道理。而且,新历把赤道坐标系转换成黄道坐标系的时候,娄宿和胃宿的度数一下子减少了《纪元历》中的一半。按照传统算法,娄宿和胃宿加起来是二十八度,娄宿应该是十二度又四分之一度,但新历却把娄宿算作十二度半,直接舍弃了四分之一度。室宿和轸宿则虚报了许多,少数星宿的度数也发生了变化,分宫都弄错了,所以乾道己丑年太阳过宫的时间就计算错误了。

最后,关于步晷漏(推算日影长度的算法),新历与以前的史料对不上。唐朝开元十二年,全国各地都进行过测景,安南测得夏至中午日影长在表南三寸三分,但新历算出来却是在表北七寸;铁勒测得冬至中午日影长一丈九尺二寸六分,新历算出来却只有一丈四尺九寸九分,足足差了四尺二寸七分,可见新历的错误有多么离谱。

第一段:第五个问题是关于步月离的。各种历法里,月亮运行的快慢、盈亏的极值数据都不一样。新历里,月亮盈亏极值的数据比旧历少了493分,快慢极值的数据比旧历少了20分,这和历法规定对不上啊!

第二段:第六个问题是关于日月交会的。新历胡乱设定了太阳和月亮的运行参数,大概是想勉强跟以前日月食的记录对上。但其中还是有很多对不上的地方,就只能迁就天象了。所以,新历预报的丁亥年和戊子年的日月食,结果就出现了偏差。

第三段:第七个问题是关于五星的。用浑天仪测量新历中五星的度数,发现和实际的天象对不上。原因是孝荣和那些一起造历的人,都没搞清楚其中的规律,先造了历法,然后再测验,顺序搞反了,所以才会出现很多错误。制定历法,应该先立表观测天象,仔细研究日月星辰的运行规律,然后再制定历法,怎么能捡点旧历的边角料,就冒充新方法呢?这怎么可能呢?

第四段:这个新历其实是从五代民间流传的《万分历》改编来的,它的朔余(指朔望月的长度)计算结果太大了,所以懂历法的专家们都看不上它。现在孝荣又把《万分历》改成了《三万分历》,一天用三万分为单位,表面上掩盖了它来自《万分历》的事实。《三万分历》其实就是《万分历》!因为朔余计算结果太大,孝荣就减少了分数,又增加了秒的单位,但这在历法中是不合规定的。从古代到宋朝的历法,朔余都没有用秒的,而且孝荣还不知道王处讷在《万分历》的基础上增加了2分,编制了《应天历》,它的朔余是537分,自然不需要用秒,而孝荣却用了秒,这和王朴的历法又不一样了。

第五段:我自从参与编制《统元历》之后,又潜心研究了三十多年,仔细研究了各种历法,现在对它们的优缺点都非常清楚了。如果能让我来负责编制历法,我会和太史官一起立表观测天象,仔细研究日月星辰的运行规律,认真计算,制定出来的历法一定会比以前的历法好得多。

第六段:皇上已经下令,让监视测验官仔细审查,并将结果上报尚书省。

哎,当时那些研究天文的,一个个都觉得自己技术高超,互相吹捧又互相拆台,吵得不可开交。谏议大夫单时、秘书少监汪大猷、国子司业兼权礼部侍郎程大昌、秘书丞唐孚、秘书郎李木,他们就说了:“这《乾道新历》,荆大声和刘孝荣一起制定的,从最初的测量到正式使用,两个人都没啥分歧。后来因为新历不够精确,皇上就下令找人改进历法,结果孝荣就告状说阮兴祖是大声提拔上来的,这事儿就越闹越大。大声因为当了负责编修历法的官,就说这事儿不能怪他,说他只是负责执行,不是制定历法的人。可制定历法、推算时间,他到底依据的是啥?再说,就拿正月里那五夜来说吧,跟孝荣算出来的五夜相比,差了一点儿;跟大声算出来的五夜相比,三天是对的,两天差得有点儿远。后来,继伯寿又上书献策,单时他们想把他的历法也拿上来测算一下,争取找到最准确的,可大声他们却占着官位,各种推诿,测算也不认真。再说,大声和孝荣当初一起制定的新历法,现在又翻来覆去的改,如果不是他们各有各的想法,以后历法一旦完成,大声要是再胡乱改动,之前做的那些工作可就全白费了!所以,我们建议让孝荣、大声、尧臣、伯寿分别把乾道五年五月以后到年底,太阴和五星的运行轨迹数据,都呈报给御史台,让专门测算的人参考参考。”皇上就同意了他们的建议。

这帮搞天文的人,互相看不上眼,整天在那里争论不休,真是让人头疼。几个官员就上奏皇上说:《乾道新历》是荆大声和刘孝荣一起弄的,从头到尾都没啥矛盾。后来因为历法不准,皇上要改进,结果刘孝荣就告了荆大声一状,说阮兴祖是荆大声提拔的,事情就越闹越大。荆大声当了官,就说自己只是执行,不是制定历法的人,所以没责任。但是,他制定历法和推算时间,依据是什么呢?而且,就拿正月那五夜来说,跟刘孝荣算的有出入,跟荆大声算的也有出入。后来,继伯寿又献了个历法,大家想拿来试试,看看哪个准,可荆大声他们却推三阻四,测算也不认真。当初他们俩一起制定的新历法,现在又改来改去,万一以后历法弄好了,荆大声再乱改,之前的努力都白费了!所以,我们建议让这几个人分别把乾道五年五月到年底,月亮和五星运行的数据,都交给御史台,让专业人士好好看看。皇上觉得有道理,就批准了。

六年的时候,朝廷官员问皇上:“按照圣旨,现在用《乾道历》来推算,今年已经把历法颁布到全国了,明年要采用什么历法来推算呢?”皇上也决定暂时再用一年《乾道历》。秋天,成都的历学进士贾复主动说,皇上要弄明白荧惑和太阴这两件事,于是转运使就资助他来到临安,贾复表示愿意编制新的历法,完成后再回四川,同时还上交了《历法九议》。皇上很欣赏他的志向,让他住在京师的国子监里,还给他发放生活补贴。

太史局的李继宗等人说:“十二月的望日,月食最大能遮住七分,最小能遮住九十三分。贾复、刘大中等几个人推算的月食开始、食甚(月食最严重的时候)的时间和遮挡程度都不一样。”皇上就让礼部侍郎郑闻监督李继宗他们进行观测。那天晚上,月食遮住了八分。秘书省也说,灵台郎宋允恭、国学生林永叔、还有祝斌、黄梦得、吴时举、陈彦健这些民间人士,他们推算的日食时间和遮挡程度也都不一样。于是皇上就让谏议大夫姚宪监督李继宗他们观测五月的朔日(初一)的日食。姚宪奏报说,观测结果的时间和遮挡程度都存在偏差,李继宗、祝斌、黄梦得等人因为计算错误受到降职处罚。

太史局的春官正和判太史局吴泽他们说:“乾道十年颁布的历书,十二月定为小月。乾道十一年正月初一,历书上写着:癸未朔,意思是说正月初一用癸未。但是,《崇天》、《统元》两部历书算出来是甲申朔,而《纪元》、《乾道》两部历书算出来是癸未朔。现在《乾道历》的朔日余数太小,大约差了四十二分,这朔日就有点问题,让人怀疑。我们重新仔细研究了日月运行规律,确定了每个月的朔日大小,推算的结果应该是甲申朔。可是历官们没仔细研究,直接用癸未作为正月初一的朔日,我担心会出错,所以请求重新推算。” 于是就让继宗去监督这件事,大家都认为十一年正月初一应该用甲申朔。

再说今年五月初一有日食,我们太史局的人观测到日食持续了四分半钟:日食开始于西北方向,午时五刻半;日食最严重的时候在正北方向,未时二刻;日食结束于东北方向,申时一刻。后来又让永叔他们五个人分别汇报了五月初一日食的持续时间以及开始、最严重和结束的时间,结果大家都不同。和现行的《乾道历》比对,发现《乾道历》计算的五月初一日食时间多了两分多一点,日食开始的时间少了四刻半,日食最严重的时间少了三刻,日食结束的时间少了二刻以上。我们又把《乾道历》和《崇天》、《纪元》、《统元》三部历书作了比较,发现《乾道历》计算的日食开始时间比较接近;但和《乾道历》自己相比,日食开始时间又算少了。继宗他们参考了来年十二月是大月,以及十一年正月初一应该用甲申朔的情况,而太史局丞和同判太史局的荆大声则认为《乾道历》加时少算四十二分,所以他认为今年五月初一日食开始的时间是午时一刻。但我们实测的结果是午时五刻半,《乾道历》加时少了四百五十分,如果按照这个天文观测的时间来预定乾道十二年正月初一的朔日,那么就比甲申日早了四百五十分。大声现在又重新确定乾道十一年正月初一用甲申朔,乾道十年十二月用大月,请求按照太史局的详细推算来执行。五月,朝廷下令让历官们仔细推算。

公元1174年,礼部上奏说:“今年发放的历书,暂时用《乾道新历》推算,明年还想暂时用《乾道历》。”皇帝批准了。到了十一月,皇帝下令让太史局春官正吴泽解释一下他推算的日食数据不一样的原因,还让秘书省狠狠批评他,并且惩罚那些参与编制历法的人。

三年后,也就是1176年,太史局判官李继宗他们上奏说:“我们让太史局里所有参与计算历法的人都一起重新编制了一部新历法,现在已经完成了七卷正册,还有两卷计算草稿,我们跟《纪元历》、《统元历》、《乾道历》这些旧历法都做了对比,新历法计算得非常精确,想请皇上给它起个名字。” 于是皇帝就给它取名为《淳熙历》,四年后,也就是1177年正式颁布使用,还让礼部和秘书省仔细研究一下,然后向他汇报。

公元1177年正月,太史局又来汇报了:“1176年九月十五的晚上,发生了月食。用《纪元历》、《统元历》、《乾道历》这三种旧历法推算,月食开始的时间是晚上九点多,食甚的时候月亮被遮挡的程度至少达到二分甚至三分以上;但是用我们新编的《淳熙历》推算,月食发生的时间是在晚上明刻(大约晚上十点到十一之间),月亮被遮挡的程度非常小,只有百分之一二十七。那天晚上,月亮非常明亮,虽然有云,但云彩也没有遮挡住月亮,直到天亮都没有看到月食的现象。由此可见,《纪元历》、《统元历》、《乾道历》这三种旧历法不如我们新编的《淳熙历》精确。现在我们要开始推算公元1178年的历法了,因为旧历法已经过时了,新历法还没完全推广开来,所以请皇上给新历法正式命名,并下发到各地使用。”

礼部那边检查了孟邦杰和李继宗他们测算出来的五星运行度数,发现结果有点不一样。李继宗说:六月癸酉日,木星在氐宿三度一十九分。孟邦杰说:晚上天黑后观测,发现木星在氐宿三度半,半度就是五十分,虽然看到了星体,但是西南方有云遮挡。

李继宗接着说:这个月的戊寅日,木星在氐宿三度四十一分;孟邦杰说:四处都有云,虽然云层间隙里能看到一会儿星体,但能测到的结果是木星在氐宿三度七十五分,“太”就是七十五分的意思。李继宗又说:庚辰日,土星在毕宿三度二十四分,金星在参宿五度六十五分,火星在井宿七度二十七分;孟邦杰说:五更五点以后,观测到土星在毕宿二度半(半度是五十分),金星在参宿六度半,火星在井宿八度多三分。

李继宗最后说:七月辛丑日,月亮在角宿初度七十一分,木星在氐宿五度七十六分;孟邦杰说:观测到傍晚时分月亮在轸宿十六度七十五分,“太”是七十五分的意思,木星在氐宿六度少一些,少就是二十五分的意思。皇上孝宗说:“自古以来,历法就没有完全准确的,更何况现在这门学问失传了,从民间寻找人才,也很难找到合适的人。”于是下令暂时用《淳熙历》一年。

话说五年前,金国派使臣来朝贺庆典,却胡乱地说他们九月庚寅晦日是己丑晦日。负责接待和审查的官员丘辨之跟使臣辩论,使臣哑口无言,朝廷这才更加重视历法。李继宗和吴泽就说:“今年九月最后一天是三十号,二十八号早上观察月亮,发现月亮离开东方地平线六十多度,说明月亮还没运行到太阳的位置。月亮一天一夜东行十三度多,根据月亮运行的度数来算,再减去二十九号早上月亮运行的十三度多,月亮还有四十六度以上没运行到太阳的位置,九月三十号才是最后一天,很明显。金国九月只算到二十九号,不应该看到月亮;既然看到了月亮,就不是晦日。请求派官员在九月三十号和十月一日去验证。”皇上就派礼部郎官吕祖谦去。

吕祖谦汇报说:“咱们十月小尽,一日是辛卯朔,晚上月亮位于尾宿七度七十分。月亮一天一夜运行十三度三十一分,到八号上弦月,月亮一共运行九十一度多。按照历法,从朔日到上弦月,月亮运行九十一度三十一分,应该在室宿一度左右。金国十月大尽,一日是庚寅朔,晚上月亮大约位于心宿初度三十一分。月亮一天一夜也运行十三度三十一分,从朔日到咱们八号,对金国来说是九天,月亮已经运行一百四十六度多,比咱们十月八号上弦月,月亮多运行了一天一夜的距离。现在测得月亮在室宿二度,一共运行九十二度多,这才知道咱们十月八号上弦月,符合天理。”皇上就让吕祖谦再次验证。那天晚上,邦杰用浑天仪测量,月亮在室宿四度,八号上弦月晚上测得月亮在室宿二度。按照历法,月亮一天一夜运行十三度多,有时运行十二度。现在测得的月亮,比八号晚上又东行十二度,确实符合天理。

十年十月,皇上发布诏令:甲辰年的历法有错误,命令礼部重新印刷,分发到安南国。李继宗、吴泽和荆大声因为这件事受到降职处罚。

十二年九月,杨忠辅上奏说:“《淳熙历》太简陋了,跟天象对不上号啊!”

他举了好几个例子:“今年三月十五那天晚上,月食发生在三更二点,可《淳熙历》上写的是二更二点;月食缺失的程度是四分之一,历法上却说是五分之一。四月二十三日,按照《淳熙历》的说法,水星应该在傍晚就看不见了,但实际上水星却和太白星一起出现在东井星附近,天黑后还能看到,两者相距十五度以上呢!七月十五之前,土星已经看不见了,《淳熙历》上却说还能看到。八月初八,金星已经过了氐宿,《淳熙历》上却说还在亢宿。类似的错误很多,而且朔日(农历每月初一)的误差已经八年了!一直用这么个粗糙的历法,也不改进,这成什么样子!”

杨忠辅接着说:“我根据《易经》里的一些原理,自己研究出了一套新的历法,但一直没敢说,怕天文官们会包庇错误。用漏壶计时,水量会增减,快慢也不一;用浑天仪测量,度数也会有偏差。不过,今年九月这次月食发生在白天,《淳熙历》却预测在晚上,白天黑夜这么明显的区别,不用争论就能判断对错了。我用我的新历法推算,淳熙十二年九月十五的月食,月亮被遮挡的程度是四分之八十五,日出前月亮开始被遮挡,在卯时一刻十一分开始,在正北方向达到最大程度,卯时一刻十分,然后在西北方向恢复,辰时初刻结束,都在日出之后。日出时间是卯时二刻之后,和月食开始的时间相差不到一刻钟。从地理位置来看,临安在岳山之南,秋分后临安的白天比岳山要长一些,所以太阳会比岳山先出来,因此月食开始的时候,太阳已经出来了,所以看不到月食。而《淳熙历》的推算结果是,九月十五晚上,月亮被遮挡的程度是五分之二十六,在卯时三刻开始,在卯时三刻达到最大程度,辰时初刻结束,都在白天。”

礼部官员仔细对比了两种历法的差异,然后把这事儿禀报给了孝宗皇帝。孝宗皇帝说:“日月运行,总会有误差,历法用久了,难免会有偏差,月亮运行速度快,大多是提前,不会延后。可以派天文台和礼部的官员一起验证一下。”于是,皇帝下令让礼部侍郎颜师鲁去验证。那天晚上戌时二刻,天上的乌云遮住了月亮,根本看不清有没有月食。

师鲁跟皇上建议,应该请精通历法的学者和太史局的人一起制定历法。皇上孝宗皇帝说:“历法用久了肯定会有误差,我听说明年会有两次月食,咱们可以等看看是不是真的,来验证一下历法准不准。”

十三年前,谏议大夫蒋继周建议说,应该像祖宗时期那样,从民间懂天文历法的能人里选拔官员来负责天文历法工作,好重视这件事。皇上孝宗说:“现在朝中懂天文历法的官员很少,没必要专门设立这个职位。”于是下令,凡是通晓天文历算的人,各地州府军营都要上报。八月,平民皇甫继明等人上书说:“今年九月十五的月亮,按照《淳熙历》推算,应该在十七日,这说明历法已经过时了。太史局却把它记在十六日,这是徇私枉法,掩盖错误。我们请求制定新的历法。” 于是皇上让忠辅和历官刘孝荣以及皇甫继明等人,各自陈述自己的观点,共同研究历法,并指定今年八月十六日月亮发生日食的时间早晚、有没有带食、能看到的日食范围以及节气、月亮恢复圆满的时间、具体时辰、更点,都要进行验证,以符合天象,权衡轻重,取长补短。

皇上又要求在今年八月二十九日验证月亮出现在东方的情况,如果看到月亮还有余光,那么这一天就不应该算作月末;还要在今年九月十六日验证月亮未满圆的情况,如果看到月亮东面发出的光还很弱,那么这一天就不应该算作望日。弄清楚月末和望日的误差,那么朔日的误差也就清楚了。必须做到天文观测和朔日计算没有丝毫偏差,才能开始制定新的历法。这件事交给了礼部讨论,大家都要先提出自己的看法,精确地确定日食的范围、方位、时辰,然后进行验证和权衡。皇上还任命师鲁和蒋继周监督这件事。结果刘孝荣差了一点,皇甫继明等人差了两点,忠辅差了三点,最后就把他们都打发走了。

十四年,国子监进士、会稽人石万言:

《淳熙历》这玩意儿,根本就不靠谱,它算出来的节气啊,跟实际情况差得老远,根本对不上号。你看淳熙十四年的历法,清明、夏至、处暑、立秋这四个节气,还有正月十五、二月十二下弦月、六月八月上弦月、十月初一,都整整差了一天。 其他的,像卦象、月亮盈亏、日出日落、五行这些东西,也因为节气算错了而跟着错。

南宋迁都之后,咱们的浑仪(天文观测仪器)都是临时拼凑的,根本没按照标准来做,更别说用圭表(测量日影的仪器)来测日影长短,用漏刻(计时仪器)来精确计算日食发生的时间了。想要纠正这些错误,难啊!你看太史局那些官员,就拿去年预测月食来说吧,他们说月亮在子时一点的时候开始恢复光亮,一会儿说恢复了一分,一会儿说恢复了两分,一会儿又说恢复了三分多,一会儿又说只恢复了三分不到,这更点的时间一会儿快一会儿慢,完全是跟着影子瞎掰,故意蒙骗朝廷。

要是按照晋朝泰始年、隋朝开皇年、唐朝开元年那些历法编纂的经验,咱们应该把《淳熙历》和万历(此处指一种历法)都往前推算个几百年,甚至上千年,看看它们算出来的日食时间,以及其他记载在史书上的日月星辰运行情况,是不是对得上。对上了,说明它准;对不上,说明它不准,这还不容易看出来吗? 这样,推算出来的节气是不是准确,也就能一目了然了。

哎,这《淳熙历》的错误可不止这些啊!你看,冬至那天,太阳运行到最南边,黄道跟赤道之间相差二十四度,白天最短,只有四十刻钟;晚上最长,有六十刻钟。夏至那天,太阳运行到最北边,黄道跟赤道之间也相差二十四度,白天最长,有六十刻钟;晚上最短,只有四十刻钟。 春分和秋分的时候,黄道和赤道重合,白天和黑夜一样长,都是五十刻钟。这可是古今不变的道理啊! 以前王普重新制定刻漏的时候,还考虑了南北地区和冬夏昼夜长短的细微差别,最多也就差三刻钟。

可是现在这《淳熙历》完全不对!它说冬至白天最短只有四十刻钟,晚上最长六十刻钟,但这居然发生在大雪节气前两天,这误差可超过了一气(气候变化的一个周期)!按理说,过了冬至,白天应该逐渐变长,晚上应该逐渐变短,可现在都过了小寒了,白天还是四十刻钟,晚上还是六十刻钟,误差已经有七天多了! 夏至的情况也一样,它说夏至白天最长六十刻钟,晚上最短四十刻钟,但这居然发生在芒种节气的前一天,误差也超过了一气!过了夏至,白天应该逐渐变短,晚上应该逐渐变长,可现在都过了小暑了,白天还是六十刻钟,晚上还是四十刻钟,误差也已经有七天多了! 而且,白天和黑夜各五十刻钟的情况,也跟春分、秋分的时间对不上。

至于太阳的东升西落,人们根据它来判断昼夜的长短变化,这有个逐渐变化的过程,不可能一下子就变快或变慢,要是突然变快变慢了,那就是出问题了! 你看,现在太阳每天升落的时间,增减一刻钟,有时候差不多要过五天才看得出来,有时候要过三四十天才看得出来。这种忽快忽慢的变化,跟太阳运行的正常规律完全对不上号! 所以,请仔细检查《淳熙历》计算方法的错误,让它既符合天象规律,又符合人们的日常生活规律。

请送交秘书省和礼部详细审查。

皇甫继明他们几个说:“石万写的那个《五星再聚历》,用一万三千五百天算一年,其实就是偷偷拿唐朝末年《崇元历》的老黄历改个名字而已。《淳熙历》的算法本来就乱七八糟,丙午年算月亮圆满的日子,它说是十七号,天文官知道不对,就在十六号下面偷偷改了,掩盖错误。我们之前就向天文台的官员提过,要重新修订历法,到现在还没动静呢。现在我们仔细看看《淳熙历经》,发现它以后算得更离谱了。戊申年十一月的下弦月,它算在二十四号,天文台的官员到时候一定会偷偷改到二十三号。这历法根本靠不住,全靠临时改来改去凑数,朔日、望日、上弦、下弦这些历法最基本的要素,只要有一个不对,那五星的运行规律、日月交会的时间、甚至黄昏和黎明的星辰位置、白天黑夜的时刻长短,都算不准了。浑天仪、圭表、漏壶这些天文仪器,我们私底下哪有啊,所以修订历法还需要这些东西。自打我们国家建朝以来,修订历法都得专门成立个机构才行,我们请求像以前修订大历那样,成立个机构重新修订历法,解决天文台那些老毛病。”

这事儿报到皇上那儿了,宰相王淮奏请先让后宫仔细看看。皇上孝宗说:“让秘书省的各个部门一起审查,免得出现不同的说法。”六月,给事中兼修玉牒官王信也提了修订历法的事儿,他说历法这东西很复杂,不仔细测验,根本看不出来它准不准。建议让皇甫继明和石万各自算一年份的历法,看看谁算得准。皇上同意了。十二月,他们俩把算好的历法交上来了。王淮他们说:“石万算的日期跟淳熙十五年的历法差了两个朔日,《淳熙历》十一月的下弦月是二十四号,看来历法肯定有误差。”孝宗皇帝说:“朔日怎么能差呢?朔日一差,那误差就大了!”于是就让吏部侍郎章森和秘书丞宋伯嘉一起审查,然后汇报结果。

话说十五年前,礼部上奏说:“万(万俟)等人编造的历法跟《淳熙历》不一样啊,咱们可以拿六月二日和十月最后一天的月亮看不看得见来验证一下。另外,《淳熙历》算的下弦月不对,应该在十一月二十四日,那天请派官员去观察一下。”皇上就下令让礼部侍郎尤袤和森(森姓不详)去监督这事儿。六月二日,森上奏说:“那天晚上月亮很亮,到了一更二点才看不清。”十月最后一天,尤袤上奏说:“天还没亮的时候,月亮就出现在东方了。”皇上问:“这几种历法,哪个更准确?”周必大他们上奏说:“三个人的历法都算出二十九日早上月亮还有那么一点点,只有忠辅和万(万俟)认为既然还有月亮,就不应该完全看不见了。”皇上说:“十一月朔日是在申时(下午三点到五点),所以二十九日早上月亮还看得见啊。”

过了两年,到了十六年,承节郎赵涣又上奏说:“现在用的历象大法和《淳熙历》,今年冬至和十二月的十五月亮,月食都比实际时间晚了半天,请派官员去验证一下。”皇上就下令礼部侍郎李巘和秘书省的邓驲他们去看看。李巘他们建议用太史局的浑仪来验证,就跟乾道年间那样,再派秘书省的一个官员专门监督。皇上就派了秘书丞黄艾和校书郎王叔简去。

到了绍熙元年八月,皇上就下令太史局重新编造新的历法,然后颁布下去。到了绍熙二年正月,新的历法《立成》两卷和《绍熙二年七曜细行历》一卷完成了,皇上赐名《会元》,还让李巘写序。

绍熙四年,有个老百姓叫王孝礼,他站出来说:“今年十一月冬至,日影测量结果显示应该在十九号壬午日,但是《会元历》上却写着是二十号癸未日,差了一天呢!你看啊,《崇天历》说癸未日冬至的时候,太阳过了酉时七十六分,《纪元历》说是丑时一刻六十七分,《统元历》说是丑时二刻二分,《会元历》说是丑时一刻二百四十分。到现在已经八十七年了,冬至的时间一直都在丑时一刻左右,不但没减少,反而增加了!《崇天历》是天圣二年制定的,《纪元历》是崇宁五年制定的,算起来也有八十二年了。那时候测算日影和观察天象,发现冬至之后,天黑的时间要减少六十七刻半,才符合天道的规律。后来陈德一制定了《统元历》,刘孝荣制定了《乾道》《淳熙》《会元》这三部历法,他们都没再测量日影。如果不立表测量日影,根本就不知道它到底差多少。我请求朝廷派官员让太史局用铜制日晷跟我的测量结果一起验证一下。”朝廷虽然答应了,但是还没来得及改。

庆元四年,《会元历》预报的天象很多都不准,负责天文历法的官员和民间说法还经常不一样,皇上就下令让礼部侍郎胡纮当总负责人,正字冯履当参谋,监督杨忠辅制作新的历法。右谏议大夫兼侍讲姚愈这时候也出来说话了:“太史局的资料都散乱了,测量用的仪器也不齐全,怎么能不出错呢!汉朝元凤年间,讨论历法的人有十一个派别,争论了很久都没结果,最后还是查阅了大量的典籍,参考了历代帝王的记录,才最终弄清楚了。元和年间,因为发现《太初历》跟实际情况偏差越来越大,日月盈亏的计算也不准,就让专门负责历法的人修订它,结果因为没有充分的文献证据,各种说法就乱成一锅粥,足足三年才最终确定下来。这主要是因为没有儒生来统筹规划,所以才会这样。《周礼》里记载,冯相氏和保章氏负责记录日月星辰的运行规律,而冢宰(主管百官的最高官员)则负责统筹全局。汉朝初期,负责历法的人员还是属于宰相管辖的。熙宁年间,司马光和沈括都曾经担任司天监的负责人,所以那时候历法计算精准,方法也严谨。我请求朝廷任命儒臣兼任司天监负责人,专门负责这件事。”

话说五年前,监察御史张岩弹劾冯履的奏章写得不对,所以冯履被免职了。后来朝廷下令,让全国各地懂天文历算的人都上报姓名。等到杨忠辅编修的历法终于完成了,宰相京镗把它推荐给皇帝,皇帝赐名《统天历》,然后就颁布下去了。这套历法一共三十二卷,包括:《历经》三卷,《八历冬至考》一卷,《三历交食考》三卷,《晷景考》一卷,《考古今交食细草》八卷,《盈缩分损益率立成》二卷,《日出入晨昏分立成》一卷,《岳台日出入昼夜刻》一卷,《赤道内外去极度》一卷,《临安午中晷景常数》一卷,《禁漏街鼓更点辰刻》一卷,《禁漏五更攒点昏晓中星》一卷,《将来十年气朔》二卷,《己未庚申二年细行》二卷。

庆元五年七月初一,按照《统天历》推算应该发生日食,结果那天乌云密布,根本看不见太阳。到了庆元六年六月初一,又按照《统天历》推算日食,结果还是不准。

到了嘉泰二年五月初一,真的发生了日食。皇帝下令,让太史局和民间懂天文历算的人都进宫来验证。结果太阳是午时一刻开始出现缺口,到未时一刻就恢复圆满了。《统天历》的推算结果比实际时间早了半天,所以杨忠辅被免职了,皇帝又下令招募全国各地精通历法的人来修订历法。

开禧三年,鲍澣上奏说:历法啊,是天地间最大的纪律,是圣人用来观察天象、了解时令,制定法律、指导百姓生活,以及告诫后人的方法。从黄帝到秦汉,历法已经发展了好几套,方法都比较简单,基本原理也差不多。可是时间长了,这些历法就和实际的天象对不上了。于是,《太初历》和《三统历》这些新的历法就相继出现,推算天象的方法也越来越复杂。像刘洪、祖冲之他们,就对历法进行了改进,更精确地计算月亮的运行规律,推算天象的方法也更细致了。到了李淳风、一行和尚他们那会儿,历法就更完善了,他们把天象的运行规律和数字结合起来,推算天象的方法也更加周全了。所以,后世的历法越来越精确,这并不是说比古代的历法更好,而是经过长期的实践和检验才变得更准确的。

咱们就拿最近的历法来说吧:从唐朝的《麟德历》、《开元历》到五代的历法,再到咱们宋朝初年的《应天历》一直到《绍熙历》、《会元历》,前后改了十多种历法,它们的目的都是一样的,就是追溯到上古开天辟地的时候,确定最初的历法起点,然后根据这个起点推算出日月星辰的运行规律,以此作为历法的基础。历朝历代的修订历法,从来不敢随意更改历法本身的计算方法,只是在细节上进行一些调整。只有石晋天福年间,马重绩搞了个《调元历》,他根本不追溯上古的历法起点,直接套用当时的观测数据,结果用了五年就发现偏差很大,根本没法用,懂行的人都批评他。

现在朝廷从庆元三年开始,对天象进行观测,发现旧历法在某些方面存在问题,就改编了新的历法,取名叫《统天历》。可是这历法颁布没多久,推算日食的结果就错了,这还算好的。更要命的是,这个《统天历》的起始时间是追溯到唐尧时代,距今两百多年,根本不是开天辟地的起点!它在计算日月星辰运行的时候,还用了许多虚增或虚减的数字;在计算气朔的时候,又搞出了什么“泛积”、“定积”这些复杂的算法。它还用一些奇怪的方法计算朔日,用别的方法计算运行速度,完全抛弃了以前行之有效的计算方法。其他的错误就更多了,说不完。这样的历法,顶多算个民间的小历,根本不适合朝廷用来颁布历法、指导百姓生活。汉朝人说,历法不准,就会导致盗贼四起,这话虽然有点夸张,但历法不完善,确实关系到国家的安危。所以,我希望朝廷能下令,挑选一些精通历法的官员和专家,成立专门的机构,认真研究,重新制定新的历法,大家集思广益,改进计算方法,使历法更符合天象运行规律,这样才能造福子孙后代。

我说啊,当年杨忠辅他们编《统天历》的时候,我经常和他一起讨论历法的事儿。现在我看这《统天历》有不少错误,我自己也偷偷地编了一个新历法。要是真要改历法的话,让我把我的新历法交上去,和太史局那些人,还有民间那些编历法的人一起参考参考。

过了七月,我又说了:“《统天历》明年闰月算错了,我希望用大家上交的那些历法,让秘书省好好参考参考,然后决定用哪个。”

曾渐言,就是当时秘书监兼国史院编修官、实录院检讨官,他说:改历法这事儿,太重要了!以前负责这事儿的,个个都是顶尖高手,比如司马迁、洛下闳、刘歆、张衡、杜预、刘焯、李淳风、一行、王朴等等,但即使是他们,时间长了也难免有误差。其他人就更不用说了,大多是照搬前人的东西,简单地加减乘除,取长补短,修修改改而已,并没有什么独到的见解。有时候碰巧对了,过不了多久又错了。宋朝历法改来改去,毛病就出在这儿。《统天历》刚颁布的时候,预测日食就错了,导致闰月也差了一个月,这历法必须得改,没得商量!但是朝廷把这当成大事,交给专门的人负责,必须得这个人有确凿的证据,证明现行历法不对,让大家都信服才行。

乾道、淳熙、庆元这三次改历,都是刘孝荣一个人搞的,后来被杨忠辅给顶替了。过了一段时间,杨忠辅的历法也不准了,所以刘孝荣又继续干到现在。从绍熙年间开始,有个叫王孝礼的,几次上书自荐,他预测的结果,有时候准,有时候不准;李孝节、陈伯祥都是杨忠辅的追随者;赵达,是搞占卜算命的;石如愚献上他父亲写的书,连晷景都不测验,只算月食的几分之几,他的方法最粗糙;陈光则干脆连交食都不管,更没根据了。这几个人,到底哪个靠谱,还真不好说,所以鲍澣就多次上书请求解决这个问题。现在如果下令成立一个机构,也就是把这些人召集起来,让他们一起讨论,避免争论。明年的闰月非常重要,今年八月就要向外国颁布历法,而三个月的时间就要完成编撰、审核和颁布,时间太紧,讨论不充分,肯定会被别人批评。

现在刘孝荣、王孝礼、李孝节、陈伯祥他们拟定的改历方案,还有鲍澣上交的历法,都写好了,建议把这些历法都拿来参考,选择最符合天象规律的颁布使用,这样明年闰月就不会出错了。建议按照以前的做法,在全国范围内寻找精通历法的专家,采用沈括的建议,用浑仪、浮漏、圭表进行观测,每天记录数据,积累三五年,前后对比,这样才能制定出经久耐用的历法。

然后他又说:“庆元三年以后,天气和日影的情况跟以前的历法相比有点不一样了。到了庆元四年,新的历法还没改好,就要颁布第五年的历法,所以就派官员去测量日影、推算节气,把时间精确到时辰刻,附在《会元历》里一起颁发。现在如果要颁布明年的节气,我们已经有去年十月以后、今年正月以前测量的日影数据了,已经发现冬至的时间比以前多了几分几秒,明年要不要闰月,跟《统天历》相比也有所不同,而且其他上交的历法也可以参考。请您赶紧下令让本省官员集中起来参考讨论,让他们仔细核对,用最新的历法推算节气,然后颁布使用。” 于是皇上就下令任命这个人为总负责人,任命那个人为参与制定历法的官员,还把那些精通计算、曾经献过历法的人,还有参与编制《统天历》的人都请来一起讨论。就这样,《开禧历》的讨论才算正式开始了。皇上决定先用戊辰年(某年)的《统天历》暂且颁布使用。

后来,一个叫阮泰发的浙江婺州老百姓上交了《浑仪十论》,还说《统天历》和《开禧历》都有误差。朝廷就让人制作了木质的浑仪,然后赏赐了他一些东西,让他回去了。

嘉定三年,有个叫邹淮的人说历法有错误,应该修改。于是就让太子詹事兼同修国史、实录院同修撰兼秘书监戴溪等人去了解之前那些人制定历法的情况。皇上任命戴溪为总负责人,任命那个人为参与制定历法的官员,邹淮负责撰写,王孝礼、刘孝荣监督,还找了十四个负责计算的官员,每天的工作量是三万五千四百次计算。四年春天,历法编制完成了,还没来得及颁布,戴溪他们就离开了朝廷,新的历法也就搁置了。韩侂胄当权的时候,有人说改历法不是什么紧急的事,所以再也没有人敢说历法有误了。《开禧历》就这样一直附在《统天历》后面,使用了四十五年。

嘉泰元年,一些官员建议修改历法。然后,御史施康年弹劾了几个太史局的官员,说他们尸位素餐,对灾异预报不及时,结果这几个官员都被降职了。 其他官员也跟着说:颁布历法是为了指导百姓生活的,可现在这历书里,一天之内吉凶并存,各种奇奇怪怪的说法都有,比如什么“土鬼”、“暗金兀”之类的,这些加在凶神上面也就算了,可问题是,这历书开头就提到了九良星,结尾又讲九曜吉凶、婚嫁择日等等,甚至还收录了《周公出行》《一百二十岁宫宿图》这些民间说法,什么都往里塞。这哪是正风俗、向外国展示我们文化的方式啊! 所以大家建议把那些不靠谱的内容删掉。皇帝也同意了这个建议。第二年五月初一,发生了日食,太史局报的时间是正午,但有个叫赵大猷的人说日食发生在正午之前三刻半,只食三分。后来皇帝让张嗣古去验证,结果赵大猷是对的,太史局的官员因此受罚。

嘉定四年,有个叫丁端祖的官员建议对天文历法进行考试。十三年,御史罗相又弹劾太史局,说他们预测七月的日食结果没发生,建议和民间的新历法好好研究一下。结果太史局的官员再次被降职。

淳祐四年,韩祥建议朝廷征召民间有天文历算知识的人来修订历法,皇帝也同意了。五年后,有个叫永祥的官员因为计算日食时间有误而被降职,因为他算的日食开始时间比实际时间早了三刻,食分也多了两分。

淳祐八年,尹涣上奏说:历法是用来统合天地、效法自然规律的,历来都是由精通天文历算的圣贤来负责。可是现在,朝廷只重视钱粮和军备,对天文历法却很懈怠,太史局的官员工作敷衍了事,满篇错误,也没人敢去纠正他们。所以他建议朝廷召集全国各地精通天文历算的人到京城来,让太史局的官员向他们学习。

十一年前,有个叫陈垓的殿中侍御史,他跟皇帝说了这么一件事儿:“历法啊,那是天地运转的大规律,也是国家的大事。咱们看看啊,淳祐十年冬天颁布的十一年的历法,说是成永祥他们根据《开禧》新历推算的,说辛亥年十二月十七日立春在酉正一刻。可现在颁布的这个历法,是相师尧他们根据《淳祐》新历推算的,说壬子年立春日在申正三刻。这可就出问题了!跟以前的历法一比对,居然差了六刻!就这么个历法,就颁布到全国各地了,这不是让人天下人笑话吗?再说,当初说要编制新历法,是为了改正旧历法的错误。咱们再看看这些历法计算的误差,《开禧》旧历只差了一两刻,而李德卿的新历却差了六刻二分多,跟现在颁布的这两个历法立春时间的误差六刻也差不多。从这儿看来,旧历的误差小,不能轻易废除;新历的误差大,也不能轻易采用。现在说废了旧历用新历,这凭的是什么依据啊?我觉得应该好好研究研究,再决定颁布哪一个。”

十二年前,秘书省说:“太府寺丞张湜和李德卿一起编算的历书,跟谭玉续编的历书,有很多地方互相矛盾。我们省里仔细检查对比了两部历书的优缺点,然后上报朝廷。首先,谭玉告发李德卿偷用了《崇天历》里关于每日长度的算法。查阅《崇天历》发现它用一万五千九百作为每日长度的算法,而李德卿用的却是三千五百三十,谭玉的说法是对的。第二,谭玉说李德卿算出的一个周期(积年)是一亿二千二十六万七千六百四十六年,这跟历法规定不符。我们现在查证,李德卿用的积年确实超过了一亿年。第三,谭玉说壬子年六月,癸丑年二月、六月、九月,丙辰年七月这几个月份的闰日都差了一天。现在秘书省让林光世用两家历书分别推算了一遍。第四,李德卿的历书和谭玉的历书,壬子年立春、立夏等十五个节气的时刻都一样,但是雨水、惊蛰等九个节气的时刻却每个都差一刻钟。第五,李德卿推算壬子年二月乙卯日发生的日食,计算结果是日食带已经退去,可见的日食范围是八分;谭玉推算的结果是七分,但是日食发生的位置(辰宿度数)两者计算结果相同。第六,李德卿的历书把一年的长度算作三百六十五日二十四分二十八秒,谭玉的历书算作三百六十五日二十四分二十九秒,两者只差一秒。而这二十八秒的算法,起源于齐朝的祖冲之,李德卿沿用了他的算法。如果祖冲之的算法能一直用下去,那历朝历代为什么还要修改呢?谭玉已经指出了它的错误,他自己却又多加了一秒,怎么能保证他的算法就一定符合天道呢!请允许我们仔细推算,取两家历书的长处,合二为一,然后再给它起个名字颁布施行。”

十二年后,历书终于完成了,赐名为《会天历》,到了宝祐元年才正式实行,史书上没有记载它的具体算法。

咸淳六年十一月三十日是冬至,冬至之后是闰十一月。历书已经颁布了,浙江安抚司派人来,这个人叫臧元震,他说……

做历法,最重要的是章法,而章法里最重要的就是章岁。因为历法是从冬至开始算的,八卦的运行也从《中孚》卦开始。十九年算是一章,一章里必须安排七个闰月,而且第七个闰月必须在冬至之前,并且这一年的冬至和朔日(初一)必须在同一天。所以《汉书·律历志》上说:“朔旦冬至,是谓章月。”《后汉书·律历志》也说:“至、朔同日,谓之章月。”“积分成闰,闰七而尽,其岁十九,名之曰章。” 《唐书·历志》则说:“天数终于九,地数终于十,合二终以纪闰余。” 你看,这章法是绝对不能废除的!

这套章法之所以这么重要,是因为它关系到整个历法的准确性。 十九年七闰的设置,巧妙地解决了阴阳历的差异,保证了历法与天象的吻合。 冬至和朔日同日,更是这套章法中的关键节点,它标志着新的一章的开始,也体现了古人对天时地利的深刻理解。 总之,这套历法体系的设计,体现了古代天文历法的高度发展,以及古人对宇宙规律的精妙把握。 “朔旦冬至,是谓章月”、“至、朔同日,谓之章月”、“积分成闰,闰七而尽,其岁十九,名之曰章”——这些记载,都清晰地说明了章法的核心要素和重要性。

现在颁布的庚午年历法,把十一月三十日定为冬至,还在冬至后加了个闰十一月,搞不懂这是什么道理。其实庚午年的闰月和每年闰月不一样,庚午年的冬至也和每年冬至不一样。从淳祐壬子年算到咸淳庚午年,一共十九年,这叫一个章岁,十一月就叫章月。按照十九年七闰来推算,闰月应该在冬至之前,而不是在冬至之后。如果按照冬至和朔日同一天来算,冬至应该在十一月初一,而不是三十日。现在把冬至放在十一月三十日,这就意味着章岁里的冬至和朔日不是同一天了。如果把闰月放在冬至之后,十九年内就只有六个闰月了,还少一个闰月。

一个章岁一共六千八百四十天,加上七个闰月,除去小数,一共是六千九百四十天或者六千九百三十九天,大概就差一天。从淳祐十一年辛亥年章岁十一月初一,也就是章月冬至那天开始算起,十九年后,到咸淳六年庚午年章岁十一月初一,应该才是冬至,正好是六千八百四十天。可是现在造历的官员把闰月放在十一月三十日,也就是冬至之后,这样一来,一个章岁就只有六个闰月了,加上这六个闰月,除去小数,实际上只积攒了六千九百十二天,比前后的章岁少了二十八天。历法的误差,没有比这更大的了。更何况冬至是历法的开始,必须从冬至后累积三年多的余分,才能设置第一个闰月。现在庚午年章岁丙寅日申初三刻是冬至,距离第二天丁卯才过去四分之一天,还没到正日子呢,哪来的余分?没有余分,哪来的闰月?这样一来,下一个章岁的开始就无法推算了,它的错误显而易见。

现在想改一下,有个简单易行的办法。历法有平朔、经朔、定朔三种。一大一小,这是平朔;两大两小,这是经朔;三大三小,这是定朔。现在就用定朔的方法,把十一月大月定为闰十月小月,把闰十一月小月定为十一月大月,这样丙寅日冬至就可以是十一月初一了,闰十一月初一的丁卯就成了十一月初二,这样就可以依次递推,每天推算一个闰月,十一月二十九日丁未才是大月结束。这样一来,冬至就在十一月初一,冬至和朔日同一天了;闰月在冬至之前,十九年就有七个闰月了。这就像古人说的“晦节无定,由时消息,上合履端之始,下得归余于终”,说的就是这个道理。

时间长了,总会有错误,有错误就总能改正。以前汉朝元和年间,历法就有错误,连续十九年都没能正确计算闰月。虽然历法已经颁布了,但还是进行了改正。现在为什么就不能改正呢?元震问那些儒生:“你们难道想和历法官员比输赢吗?既然知道它错了,怎么还能一声不吭呢?”

于是朝廷把这事交给有关部门处理,派官员和元震一起到太史局去辩论。结果太史局的人被驳得哑口无言,元震升了一级官,而太史局的邓宗文、谭玉等人则被降职。然后元震重新制定历法,六年后历法完成,朝廷下令让礼部尚书冯梦得写序;七年后,新历法颁布,这就是《成天历》。

德祐年间之后,陆秀夫等人拥立益王,逃到海上,命令礼部侍郎邓光荐和四川人杨某等人制定历法,取名为《本天历》,现在已经失传了。