咱们先说日食的事儿。历法好不好,关键得看它能不能准确预测日食。可推算日食的办法,要做到精确很难,有时候预测的时间早晚不准,日食的大小也差得远。要想预测得准,就不能马虎。计算时间上的偏差,必须得从日月运行的距离和速度入手;要算日食的大小,必须得看日月距离的远近。要是日月运行的快慢、运行轨迹的弯曲程度没算准,那合朔的时间就会早或者晚。合朔时间早晚不对,日食发生的时间当然也就准不了了。日月都往东走,但太阳慢,月亮快,月亮追上太阳,就发生日食了。日食发生的时间和地点,有阳历阴历之分,还有发生在中午之前还是之后的区别。再加上各地地理位置不同,观察者的身高、角度也不一样,所以日食的大小看起来就各有不同,没法统一。现在咱们的算法,合朔的时间算得很准,所以预测日食的时间就不会早晚有误差;日食的大小也计算得恰到好处,不会出现强弱不一的情况。推算一下,从《诗经》、《尚书》、《春秋》到三国时期记载的日食,没有一个算错的。既然过去都对,那以后用它也肯定没问题。

接下来看看《诗经》和《尚书》里记载的两件事儿。《尚书·胤征》里写道:“惟仲康肇位四海。乃季秋月朔,辰弗集于房。” 现在根据《大衍历》推算,仲康即位第五年癸巳年,距离辛巳年三千四百零八年,九月庚戌朔,泛交二十六日五千四百二十一分入食限。 《诗经·小雅·十月之交》这首诗,是大夫批评幽王无道的。“十月之交,朔日辛卯,日有食之,亦孔之丑。” 梁朝的太史令虞广说,十月辛卯朔,在幽王六年乙丑年。 《大衍历》也这么认为。用《授时历》推算,这一年十月辛卯朔,泛交十四日五千七百九分入食限。

最后,《春秋》里记载了三十六次日食,比如隐公三年辛酉年,春天二月己巳日,发生过日食。

杜预说,史书上没写明是哪一天发生日食,那就是史官的失职。 《公羊传》里说,记载日食的时候,有时写明是朔日(初一),有时不写;有时写明是哪一天,有时不写;有时日期写早了,有时写晚了。日期写早了,说明朔日应该在前面;日期写晚了,说明朔日应该在后面。 《谷梁传》则说,记载日食只写了日期,没写是朔日,那就是指的晦日(月末)。姜岌校订《春秋》里关于日食的记载时说:“这一年二月己亥是朔日,没有己巳日,好像少记了一个闰月。三月己亥是朔日,日食发生在交分(太阳进入黄道十二宫的时刻)之后,在食限(日食发生的范围)以内。” 《大衍历》和姜岌的看法一致。现在用《授时历》推算,这一年三月己亥是朔日,日食发生在白天,距离交分二十六日六千六百三十一(此处指时刻单位,非单纯日期)。

桓公三年,壬申年,秋天七月壬辰是朔日,发生了日食。姜岌认为这一年七月癸亥才是朔日,没有壬辰日,也是少记了一个闰月。 他认为八月壬辰才是朔日,日食发生在交分之后,在食限以内。《大衍历》和姜岌的看法一致。用现在的历法推算,这一年八月壬辰是朔日,日食发生在白天,食分六分十四秒。

桓公十七年,丙戌年,冬天十月朔日,发生了日食。《左传》说,没写明是哪一天发生日食,那就是史官的失职。《大衍历》推算出日食发生在十一月交分之后,在食限以内,也是少记了一个闰月。用现在的历法推算,这一年十一月日食发生在白天,距离交分二十六日八千五百六十(此处指时刻单位,非单纯日期)。

庄公十八年,乙巳年,春天三月,发生了日食。《谷梁传》说,既没写明是哪一天,也没写明是朔日,那就是夜里发生的日食。《大衍历》推算出这一年五月是朔日,日食发生在交分之后,在食限以内,但三月不应该发生日食。用现在的历法推算,这一年三月朔日,不在食限内;五月壬子是朔日,日食发生在白天,在交分之后,在食限以内,看来是把五月错记成三月了。

庄公二十五年,壬子年,六月辛未是朔日,发生了日食。《大衍历》推算出这一年七月辛未是朔日,日食发生在交分之后,在食限以内。用现在的历法推算,这一年七月辛未是朔日,日食发生在白天,距离交分二十七日四百八十九(此处指时刻单位,非单纯日期),也是少记了一个闰月。

庄公二十六年,癸丑年,冬天十二月癸亥是朔日,发生了日食。用现在的历法推算,这一年十二月癸亥是朔日,日食发生在白天,距离交分十四日三千五百五十一(此处指时刻单位,非单纯日期)。

庄公三十年,丁巳年,九月庚午是朔日,发生了日食。

咱们来捋捋这些日食记录,看看古人是怎么推算的,跟现在对不对得上。首先,根据当时的历法推算,这一年十月庚午朔,也就是十月初一庚午日,白天发生日食,距离交分(太阳和月亮交汇点)十四日四千六百九十六分,这说明当时闰月算错了。《大衍历》的推算结果也一样。

僖公十二年,癸酉年,春天三月庚午朔,那天发生了日食。姜氏的解释是:三月初一,交分的时候不应该发生日食,这记录有误;应该是五月庚午朔,那天才符合日食发生的条件。 《大衍历》也这么认为。现在用现代历法推算,五月庚午朔,白天发生日食,距离交分二十六日五千一百九十二分,看来五月和三月搞混了,记录里把“五”写成了“三”。

僖公十五年,丙子年,夏天五月,发生了日食。但是《左传》里没写明是哪一天,只说五月有日食,史官记错了。《大衍历》推算应该是四月癸丑朔,距离交分符合日食条件,但是差了一个闰月。现在用现代历法推算,四月癸丑朔,距离交分一日一千三百一十六分,可以发生日食。

文公元年,乙未年,二月癸亥朔,发生了日食。姜氏认为,二月没有甲午朔,应该是三月癸亥朔,那天符合日食发生条件。《大衍历》也同意这个说法。现在用现代历法推算,三月癸亥朔,白天发生日食,距离交分二十六日五千九百十七分,这说明闰月又算错了。

文公十五年,己酉年,六月辛丑朔,发生了日食。用现代历法推算,六月辛丑朔,白天发生日食,距离交分二十六日四千四百七十三分,符合日食条件。

宣公八年,庚申年,秋天七月甲子,发生了日食。杜预认为是七月甲子月底发生的日食,姜氏和《大衍历》都认为是十月甲子朔,也就是十月初一。现在用现代历法推算,十月甲子朔,白天发生日食,食分九分八十一秒,看来记录里把“十”写成了“七”。

宣公十年,壬戌年,夏天四月丙辰朔,发生了日食。用现代历法推算,四月丙辰朔,白天发生日食,距离交分十四日九百六十八分,符合日食条件。

宣公十七年,己巳年,六月癸卯,发生了日食。姜氏认为六月甲辰朔不应该发生日食。《大衍历》认为这一年五月在交限,六月甲辰朔,交分已经过了日食限,所以记录有误。现在用现代历法推算,五月乙亥朔,符合日食条件;六月甲辰朔,已经过了交分两天,所以《大衍历》的判断是对的。

公元前X年(具体年份根据“成公十六年”推算),六月初一,那天是丙寅日,发生了日食。

我们现在用历法推算一下,那年六月初一确实是丙寅日,而且是白天发生的日食,距离交分(指太阳和月亮交汇的时刻)还有26天9835分。

公元前X年(具体年份根据“成公十七年”推算),十二月初一,那天是丁巳日,又发生了日食。

姜氏说:“十二月初一是戊子日,没有丁巳日,看来是闰月算错了。” 《大衍历》推算的结果是十一月初一是丁巳日,而且在交分范围内会发生日食。我们现在用历法推算,那年十一月初一确实是丁巳日,而且是白天发生的日食,距离交分还有14天2897分,跟《大衍历》的结果一样。

公元前X年(具体年份根据“襄公十四年”推算),二月初一,那天是乙未日,发生了日食。

我们现在用历法推算一下,那年二月初一确实是乙未日,而且是白天发生的日食,距离交分还有14天1393分。

公元前X年(具体年份根据“襄公十五年”推算),八月初一,那天是丁巳日,发生了日食。

姜氏说:“七月初一是丁巳日,发生了日食,看来是闰月算错了。” 《大衍历》的推算结果也是这样。我们现在用历法推算,那年七月初一确实是丁巳日,而且是白天发生的日食,距离交分还有26天3394分。

公元前X年(具体年份根据“襄公二十年”推算),十月初一,那天是丙辰日,发生了日食。

我们现在用历法推算一下,那年十月初一确实是丙辰日,而且是白天发生的日食,距离交分还有13天760分。

公元前X年(具体年份根据“襄公二十一年”推算),七月初一,那天是庚戌日,发生了日食。

我们现在用历法推算一下,那年七月初一确实是庚戌日,而且是白天发生的日食,距离交分还有14天3682分。十月初一,那天是庚辰日,也发生了日食。

姜氏说:“在一个月内发生两次日食,一定是计算有误。” 《大衍历》也认为如此。我们现在用历法推算,十月已经过了交分时间,不应该发生日食,所以姜氏的说法是对的。

公元前X年(具体年份根据“襄公二十三年”推算),二月初一,那天是癸酉日,发生了日食。

我们现在用历法推算一下,那年二月初一确实是癸酉日,而且是白天发生的日食,距离交分还有26天5703分。

公元前X年(具体年份根据“襄公二十四年”推算),七月初一,那天是甲子日,发生了日食,并且很快就结束了。

我们现在用历法推算一下,那年七月初一确实是甲子日,而且是白天发生的日食,日食持续了9分6秒。八月初一,那天是癸巳日,又发生了日食。

《汉志》说:“董仲舒认为这是因为比食(两次日食时间间隔)太近了。”《大衍历》也说:“不应该频繁发生日食,这说明推算有误。”现在用现代历法推算一下,两次日食的时间间隔对不上,不应该发生日食,《大衍历》的说法是对的。

鲁襄公二十七年,乙卯年,冬天十二月初一,乙亥日,发生了日食。姜氏的推算认为:“十一月乙亥朔,交分(日月交合)进入食限,应该发生日食。”《大衍历》的推算结果也一样。现在用现代历法推算,那一年十一月初一乙亥日,加上时间,是在白天,日月交合在初一日的八百二十五分进入食限,所以发生了日食。

鲁昭公七年,丙寅年,夏天四月初一,甲辰日,发生了日食。现在用现代历法推算,那一年四月初一甲辰日,加上时间,是在白天,日月交合在二十七日二百九十八分进入食限,所以发生了日食。

鲁昭公十五年,甲戌年,六月初一,丁巳日,发生了日食。《大衍历》推算的结果是五月丁巳朔发生日食,少算了一个闰月。现在用现代历法推算,那一年五月初一丁巳日,加上时间,是在白天,日月交合在十三日九千五百六十七分进入食限,所以发生了日食。

鲁昭公十七年,丙子年,夏天六月初一,甲戌日,发生了日食。姜氏的推算认为:“六月乙巳朔,日月交合时间不对,不应该发生日食,一定是推算错了。”《大衍历》也说:“日食应该发生在九月初一,六月不应该发生日食,姜氏的推算是对的。”现在用现代历法推算,那一年九月初一甲戌日,加上时间,是在白天,日月交合在二十六日七千六百五十分进入食限,所以发生了日食。

鲁昭公二十一年,庚辰年,秋天七月初一,壬午日,发生了日食。现在用现代历法推算,那一年七月初一壬午日,加上时间,是在白天,日月交合在二十六日八千七百九十四分进入食限,所以发生了日食。

鲁昭公二十二年,辛巳年,冬天十二月初一,癸酉日,发生了日食。

咱们现在用历法推算一下,这个月是癸酉月的朔日,交分在十四日一千八百分的时候日食发生。杜预用长历推算,说是癸卯月,这就不对了。(郭先生认为杜预算错了,他的方法是:从元朝辛巳年往后推算一千八百年,每年的实际天数比标准历法长十九分之一,用这个比例相乘,得到六十五亿七千四百三十九万九千二百分,这是中间结果。减去闰日后,余下六十五亿七千四百一十九万七千一百五十分。减去朔日的实际天数,余下九万六千五百三十七分三十四秒。再减去朔日的实际天数,余下十九万八千七百六十八分五十九秒,这是闰余。换算成天数,就是十九天八十七刻六十八分五十九秒。再用同样的方法算出当年冬至的日数,是三十五日十四刻。减去闰余,剩下十五天二十六刻三十一分四十三秒,换算成阳历就是乙卯日的二十六刻。这就是说,这一年的正月朔日,加上十一个朔日,就是十二月的朔日。因为闰余满了十八万六千五百朔五十二分○九秒,这一年有闰月,所以要加十二个朔日。加上十五天二十六刻三十一分四十一秒,一共是三百六十九天六十三刻○二分五十七秒。减去标准历法的整数年数,余下九天六十三刻○二分五十七秒,换算成阳历就是癸酉日。杜预说是癸卯日,大概少算了一个闰月。)

昭公二十四年,癸未年,夏五月乙未朔,发生了日食。现在用历法推算,这个月是乙未朔,时间是白天,交分在二十六日三千八百三十九分的时候日食发生。

昭公三十一年,庚寅年,十二月辛亥朔,发生了日食。现在用历法推算,这个月是辛亥朔,时间是白天,交分在二十六日六千一百二十八分的时候日食发生。

定公五年,丙申年,春天三月辛亥朔,发生了日食。

现在用历法推算,三月是辛卯朔,时间是白天,交分在十四日三百三十四分的时候日食发生。

定公十二年,癸卯年,十一月丙寅朔,发生了日食。

咱们现在用历法推算一下,那年十月初一丙寅日,中午的时候,交分在十四日二千六百二十二分进入食限,看来是少算了一个闰月。

定公十五年,丙午年,八月初一庚辰日,发生了日食。现在用历法推算,那月庚辰日,中午的时候,交分在十三日七千六百八十五分进入食限。

哀公十四年,庚申年,五月初一庚申日,也发生了日食。现在用历法推算,那月庚申日,中午的时候,交分在二十六日九千二百一分进入食限。

上面提到的《诗经》和《尚书》里记载的两件事,《春秋》二百四十二年间,一共记载了三十六次日食。用《授时历》推算,只有襄公二十一年十月初一庚辰日和二十四年八月初一癸巳日没有进入食限,这从有历法以来,就没有过不是初一就发生日食的情况。剩下的三十四次日食,都在初一发生,《经书》里有时不写日子,有时不写初一,《公羊传》和《谷梁传》认为是日食发生在月末,这都不对;《左传》认为是史官记错了,这倒是对的。有些日食记录前后差了一两天,这是因为古代历法粗糙,闰月安排不当造成的,姜岌和一行大师已经对此有明确的解释了。孔子编写《尚书》,只是根据当时的历法记载,这并不是什么大问题,所以没必要细究。

三国时期以后的日食记录:

蜀汉章武元年辛丑年,六月最后一天戊辰日,日食发生在未时。用《授时历》推算,日食最严重的时候是未时五刻;用《大明历》推算,也是未时五刻。这两个历法推算的结果都比较准确,两个历法都推算出戊辰日是七月的初一。

魏国黄初三年壬寅年,十一月最后一天庚申日发生日食,日食发生在西南方向。用《授时历》推算,日食最严重的时候是申时二刻;用《大明历》推算,是申时三刻。《授时历》推算的结果比较准确,《大明历》次之。两个历法都推算出庚申日是十二月的初一。

梁朝中大通五年癸丑年,四月初一己未日发生日食,发生在丙时。《授时历》和《大明历》都推算出日食开始于午时四刻,两个历法推算的结果都比较准确。

太清元年丁卯年,正月初一己亥日发生日食,日食发生在申时。《授时历》推算日食最严重的时候是申时一刻;《大明历》推算日食最严重的时候是申时三刻。《授时历》推算的结果次之,《大明历》比较准确。

陈朝太建八年丙申年,六月初一戊申日发生日食,发生在卯时和甲时之间。《授时历》推算日食最严重的时候是卯时二刻。

好家伙,这记录的是日食发生的时间吧?你看,《大明历》上说,日食发生在卯时四刻。

哎,这《授时历》和《大明历》算出来的日食时间,差距还挺大呢。《授时历》算得比较准,《大明历》就差得远了。唐永隆元年,庚辰年十一月壬申朔,日食发生在巳时四刻。《授时历》算的是巳时七刻,《大明历》算的是巳时五刻。这次,《授时历》算得离谱,《大明历》反而比较接近。

开耀元年,辛巳年十月丙寅朔,日食发生在巳时初刻。《授时历》说是辰正三刻,《大明历》说是辰正一刻。这次,《授时历》又比较准,《大明历》差得远。嗣圣八年,辛卯年四月壬寅朔,日食发生在卯时二刻。《授时历》算的是寅时八刻,《大明历》算的是卯时初刻。这次两个历法算得都差不多。

十七年庚子年,五月己酉朔,日食发生在申时初刻。《授时历》算的是申时初二刻,《大明历》算的是申正初刻。《授时历》算得还行,《大明历》又差远了。十九年壬寅年,九月乙丑朔,日食发生在申时三刻。《授时历》算的是申时一刻,《大明历》算的是申时四刻。这次,《授时历》算得差点,但《大明历》却比较准。

景龙元年丁未年,六月丁卯朔,日食发生在午正。《授时历》算的是午正二刻,《大明历》算的是未初初刻。哎,这差距,真是一个天上一个地下啊。《授时历》算得还凑合,《大明历》又离谱了。开元九年辛酉年,九月己巳朔,日食发生在午正后三刻。《授时历》算的是午正一刻,《大明历》算的是午正二刻。这次,《授时历》差一点,《大明历》反而比较准。

宋庆历六年丙戌年,三月辛巳朔,日食发生在申正三刻,然后又恢复了。《授时历》和《大明历》算得都差不多,《授时历》更准一些。皇祐元年己丑年,正月甲午朔,日食发生在午正。《授时历》算的是午初二刻,《大明历》算的是午正初刻。这次,《授时历》算得准,《大明历》算得非常准。五年癸巳年,十月丙申朔,日食发生在未时一刻。《授时历》算的是未时三刻,《大明历》算的是未刻初。这次,《授时历》算得差点,《大明历》又比较准。

公元1048年,四月初一,日食发生在申时一刻。 《授时历》预测的日食时间是申时一刻,和实际时间完全吻合;《大明历》预测的日食时间是申时二刻,差了一点点。 所以,《授时历》预测得很准,《大明历》预测得稍微差一点。

公元1050年,正月初一,日食发生在未时三刻结束。 两个历法都预测日食结束于未时二刻,预测结果都差不多准。

公元1052年,六月初一,日食开始于未时。 《授时历》预测日食开始于未时一刻,预测得比较准;《大明历》预测日食开始于未时,预测得稍微差点。

公元1066年,九月初一,日食发生在未时二刻。 《授时历》预测日食发生在未时三刻,预测得比较准;《大明历》预测日食发生在未时四刻,预测得稍微差点。

公元1073年,七月初一,日食发生在辰时三刻。 《授时历》预测日食发生在辰时五刻,预测得稍微差点;《大明历》预测日食发生在辰时四刻,预测得比较准。

公元1076年,十一月初一,日食发生在巳时六刻。 《授时历》预测日食发生在巳时五刻,预测得很准;《大明历》预测日食发生在巳时二刻,预测得差得比较远。

公元1084年,三月初一,日食发生在未时六刻。 两个历法都预测日食发生在未时五刻,预测结果都差不多准。

公元1101年,十一月初一,日食开始于未时二刻,日食最严重的时候在未时八刻,日食结束于申时六刻。《授时历》预测日食开始于未时三刻,日食最严重的时候在申时一刻,日食结束于申时六刻;《大明历》预测日食开始于未时一刻,日食最严重的时候在未时七刻,日食结束于申时五刻。 《授时历》预测日食开始和最严重的时间都比较准,结束时间完全吻合;《大明历》预测日食开始时间稍微差点,日食最严重和结束时间都比较准。

公元1132年,正月初一,日食开始于申时。 《授时历》和《大明历》都预测日食开始于申时一刻和未时七刻,预测结果都比较准。

公元1170年,十一月初一,日食发生在巳时二刻。 《授时历》和《大明历》都预测日食发生在巳时二刻和巳时一刻,预测结果都比较准。

你看,《授时历》和《大明历》对庆元元年乙卯三月丙戌朔的那次日食的预报,都挺准的。

《授时历》说日食开始是午初一刻;《大明历》说日食开始是午初二刻。你看,《授时历》的预报和实际情况几乎一模一样,《大明历》也差不太多。

嘉泰二年壬戌五月甲辰朔的那次日食,两个历法预报也都挺准的。

《授时历》说日食开始是巳正三刻;《大明历》说日食开始是午初三刻。这次两个历法都非常接近实际情况。

嘉定九年丙子二月甲申朔的那次日食,预报结果呢?《授时历》说日食最严重的时候是申正三刻;《大明历》说日食最严重的时候是申正二刻。这次《授时历》预报的比较准,《大明历》也还凑合。

淳祐三年癸卯三月丁丑朔的那次日食,《授时历》说日食最严重的时候是巳初一刻;《大明历》说日食最严重的时候是巳初初刻。这次也是《授时历》预报的比较准,《大明历》也差不太多。

中统元年庚申三月戊辰朔的那次日食,《授时历》说日食最严重的时候是申正一刻;《大明历》说日食最严重的时候是申初三刻。这次《授时历》预报的很准,《大明历》就差的比较远了。

至元十四年丁丑十月丙辰朔的那次日食,情况就比较复杂了。这次日食开始、最严重和结束的时间,《授时历》和《大明历》的预报都和实际情况有出入。

《授时历》预报日食开始是午正初刻,最严重的时候是未初一刻,结束是未正一刻;《大明历》预报日食开始是午正三刻,最严重的时候是未正一刻,结束是申初二刻。你看,《授时历》对日食开始和最严重时间的预报都非常准确,结束时间也差不多;而《大明历》的预报就都差得比较远了。

古人研究日食,把预报时间和实际时间完全一致的叫做“密合”,差一刻钟的叫做“亲”,差二刻钟的叫做“次亲”,差三刻钟的叫做“疏”,差四刻钟的叫做“疏远”。我们把《授时历》和《大明历》对从后汉章武元年到本朝的三十五次日食的预报结果进行了对比。结果显示,《授时历》预报完全准确的有七次,非常接近的有十七次,比较接近的有十次,略有偏差的一次,完全不准的没有;而《大明历》预报完全准确的有两次,非常接近的有十六次,比较接近的有八次,略有偏差的有三次,完全不准的有六次。

【前代月食】

宋朝元嘉十一年,也就是甲戌年,七月丙子日,十五的月亮,晚上四更二点开始月食,四更四点月食结束。 《授时历》算的是四更三点开始,四更四点结束;《大明历》算的是四更二点开始,四更五点结束。你看啊,《授时历》算的开始时间差一点,结束时间很准;《大明历》算的开始时间很准,结束时间差一点。

接下来是元嘉十三年,丙子年,十二月癸巳日,十五的月亮,晚上一更三点月食结束。《授时历》算的是一更三点结束;《大明历》算的是一更四点结束。《授时历》算得很准,《大明历》差一点。

元嘉十四年,丁丑年,十一月丁丑日,十五的月亮,晚上二更四点开始月食,三更一点结束。《授时历》算的是二更五点开始,三更二点结束;《大明历》算的是二更四点开始,三更二点结束。你看,《授时历》算的开始和结束时间都差一点;《大明历》算的开始时间很准,结束时间差一点。

梁朝中大通二年,庚戌年,五月庚寅日,十五的月亮,月食发生在子时。《授时历》和《大明历》都算的是子时正点开始月食,这回两个历法都算得很准。

大同九年,癸亥年,三月乙巳日,十五的月亮,晚上三更三点开始月食。《授时历》算的是三更一点开始;《大明历》算的是三更三点开始。《授时历》差一点,《大明历》很准。

隋朝开皇十二年,壬子年,七月己未日,十五的月亮,晚上一更三点开始月食。《授时历》算的是一更四点开始;《大明历》算的是一更五点开始。《授时历》差一点,《大明历》更差一点。

开皇十五年,乙卯年,十一月庚午日,十五的月亮,晚上一更四点开始月食,二更三点月食最严重,三更一点月食结束。《授时历》算的是一更三点开始,二更二点最严重,二更五点结束;《大明历》算的是一更五点开始,二更三点最严重,二更五点结束。你看,《授时历》算的开始、最严重和结束时间都差一点;《大明历》算的开始和结束时间差一点,最严重的时间很准。

开皇十六年,丙辰年,十一月甲子日,十五的月亮,晚上四更三点月食结束。《授时历》算的是四更四点结束;《大明历》算的是四更五点结束。《授时历》差一点,《大明历》更差一点。

公元944年,农历十二月,乙未月望日,晚上四更四点开始月食。

按照《授时历》的推算,月食开始的时间是四更五点;而《大明历》的推算结果是四更一点。你看,《授时历》算得比较准,《大明历》次之。

公元1008年,农历十一月,丙辰月望日,凌晨寅时四刻开始月食。

《授时历》预测月食开始时间是寅时二刻;《大明历》预测是寅时一刻。《授时历》这次算得还行,《大明历》就差得远了。

公元1051年,农历十月,癸未月望日,卯时七刻月食达到最严重的时候。

两个历法都预测月食最严重的时间是辰时初刻,都挺准的。

公元1067年,农历十一月(闰月),丁未月望日,晚上亥时六刻开始月食,子时五刻达到最严重,丑时四刻结束。

《授时历》预测月食开始是亥时六刻,最严重是子时五刻,结束是丑时三刻;《大明历》预测月食开始是子时初刻,最严重是子时六刻,结束是丑时四刻。《授时历》对月食开始和最严重的时间预测得很准,结束时间也差不多;《大明历》对月食开始时间预测得不太准,但最严重和结束时间预测得都挺准的。

公元1070年,农历十一月,丙申月望日,卯时二刻开始月食,卯时六刻达到最严重。

《授时历》预测月食开始是卯时初刻,最严重是卯时五刻;《大明历》预测月食开始是卯时四刻,最严重是卯时七刻。两个历法对月食开始时间都预测得不太准,但对最严重的时间预测得都挺准的。

公元1072年,农历三月,戊午月望日,晚上亥时一刻开始月食,亥时六刻达到最严重,子时四刻结束。

《授时历》预测月食开始是戌时七刻,最严重是亥时五刻,结束是子时三刻;《大明历》预测月食开始是亥时二刻,最严重是亥时七刻,结束是子时四刻。《授时历》对月食开始时间预测得不太准,但最严重和结束时间预测得都挺准;《大明历》对月食开始和最严重时间预测得都挺准,结束时间也差不多。

公元1073年,农历九月,己酉月望日,晚上四更五点开始月食,五更三点月食结束。

《授时历》预测月食开始是四更五点,结束是五更三点;《大明历》预测月食开始是四更三点,结束是五更二点。

你看啊,《授时历》和《大明历》预测的日食开始和结束时间,都差不太多,都挺准的。

崇宁四年,也就是乙酉年十二月戊寅日,那天晚上发生日食,日食最严重的时候是酉时三刻,然后在戌时初刻就恢复正常了。《授时历》算的是酉时一刻食甚,酉时七刻复原;《大明历》算的是酉时三刻食甚,戌时二刻复原。《授时历》预测的日食最严重和恢复正常的时间,都跟实际情况差不多;《大明历》预测日食最严重的时间很准,恢复正常的时间也差不多。

到了元朝至元七年,庚午年三月甲寅日,又发生日食。这次日食开始是丑时三刻,最严重的时候是寅时初刻,寅时六刻就结束了。《授时历》预测的是丑时二刻开始,寅时初刻最严重,寅时六刻结束;《大明历》预测的是丑时四刻开始,寅时一刻最严重,寅时七刻结束。《授时历》预测的日食开始时间很准,最严重和结束的时间都非常准;《大明历》预测的开始、最严重和结束时间都挺准的。

九年,也就是壬申年七月辛未日,又发生日食。这次日食开始是丑时初刻,最严重的时候是丑时六刻,寅时三刻就结束了。《授时历》预测的是子时七刻开始,丑时四刻最严重,寅时一刻结束;《大明历》预测的是丑时二刻开始,丑时六刻最严重,寅时二刻结束。《授时历》预测的日食开始时间很准,最严重和结束的时间都差不多;《大明历》预测的开始时间差不多,最严重的时间很准,结束时间也挺准的。

十四年,丁丑年四月癸酉日,又发生日食。这次日食开始是子时六刻,食既是丑时三刻,最严重的时候是丑时五刻,丑时七刻开始恢复光明,寅时四刻完全恢复正常。《授时历》预测的是子时六刻开始,丑时四刻食既,丑时五刻最严重,丑时六刻开始恢复光明,寅时四刻完全恢复正常;《大明历》预测的是丑时初刻开始,丑时七刻食既,丑时七刻最严重,丑时八刻开始恢复光明,寅时六刻完全恢复正常。 两次预测的结果,都差不多。

咱们来看看这两个历法,《授时历》和《大明历》,它们对日食的预报到底准不准。 你看啊,日食开始(亏初)、食分最大(食甚)、日食结束(复满)这三个时间点,《授时历》预报得都挺准的,挨得很近;而《大明历》预报的开始和结束时间点还凑合,但是食分最大的时间点就差得远了。

16年,己卯年二月壬辰日是望日,那天有日食。 《授时历》说,日食开始是子时五刻,食分最大是丑时二刻,结束是丑时七刻。《大明历》呢,它说开始是子时七刻,食分最大是丑时三刻,结束是丑时七刻。你看,《授时历》这三个时间点都挨得很近;而《大明历》开始的时间就差了点,食分最大时间也差得远,只有结束时间差不多。

8月己丑日也是望日,那天也有日食。《授时历》说,日食开始是丑时五刻,食分最大是寅时初刻,结束是寅时四刻。《大明历》说,日食开始是丑时七刻,食分最大是寅时二刻,结束是寅时四刻。这次,《授时历》开始的时间差了一点,但是食分最大和结束时间都挺准的;《大明历》开始和食分最大时间都差得有点远,只有结束时间比较准。

17年,庚辰年八月甲申日是望日,那天也有日食,而且发生在白天。 《授时历》说日食结束是戌时一刻;《大明历》说日食结束是戌时四刻。这次,《授时历》预报得准,《大明历》就差得远了。

总共对比了45次日食的预报,结果是: 《授时历》预报得很准的有18次,《大明历》有11次;预报得比较准的有18次(《授时历》)和17次(《大明历》);预报得还凑合的有9次(《授时历》)和14次(《大明历》);预报得很不准的,《授时历》一次都没有,《大明历》有两次;预报得特别不准的,《授时历》一次都没有,《大明历》有一次。

【定朔】

太阳每天走一度,月亮每天走十三度十九分之七度。一天一夜之间,月亮比太阳快走十二度多一点。 历法上说,一个朔望月是二十九日五十三刻,在这段时间里,月亮追上了太阳,和太阳走到同一个度数,这就是朔日。 我们说的“朔日”,就是指这个月亮追上太阳的时刻,不会有别的意思。 因为太阳运行的快慢不一样,月亮运行的快慢也不一样,所以我们要根据太阳和月亮运行快慢的变化来调整计算,才能准确地确定朔日。

古时候制定历法,方法简单不够完善,一开始用“平朔法”,只分大小月,所以有时候日食发生在朔日前后,月食发生在望日前后。汉朝的张衡根据月亮运行速度的快慢,把月亮运行的轨道分成了九道;宋朝的何承天根据太阳运行的盈亏变化,推算出了更精确的数值;所以月亮就有了三个大月和两个小月的说法。隋朝的刘孝孙和刘焯想沿用这种方法,但是当时很多人反对,觉得这太迂腐怪异,所以没能实行。到了唐朝,傅仁均才开始采用这种方法,但是到了贞观十九年九月以后,连续好几个月都是大月,于是又恢复了平朔法。直到麟德元年,才开始采用李淳风的《甲子元历》,这才算确定了计算朔日的正确方法。李淳风还发现农历月末经常出现月亮,于是制定了“进朔法”,就是说如果朔日的小余数值大于或等于四分之三,就提前一天算作朔日。后来的历法都沿用了这种方法。但是虞广曾经说过:“朔日如果在会同(指朔日与交点合),只要日月运行的顺序相符,有什么好怀疑它经常是大月呢?日月相距很远,又何必拘泥于小月呢?”一行也说过:“天象运行规律很精密,即使是四个大月三个小月,又有什么关系呢?”现在我们只取辰时和戌时时刻所在的这一天作为朔日,即使朔日的小余数值在进限以内,也不提前。唉,人们真是太安于旧习惯了!

一开始历法用平朔法,只知道有大月和小月,因为方法不容易改变,所以一开始听到“三大二小”的说法,大家都觉得不可行。从有了历法开始,直到麟德年间,计算朔日的正确方法才开始实行。四个大月三个小月,这是自然规律,唐朝人却不能像天一样运行,而只用平朔法。到了元朝,人们才开始经常讨论改革历法。至于“进朔法”的用意,只是为了避免农历月末出现月亮,却没想到朔日如果在酉、戌、亥时,距离前一天的卯时已经有十八九个时辰了,如果提前一天算作朔日,那么月末就不会看到月亮了,这个说法是正确的。但是如果朔日落在辰时和申时之间,就不应该提前,因为距离前一天的卯时和巳时超过十四五度,那么月末就能看到月亮,又怎么能避免呢?再说,月亮的隐现本来就是自然规律,提前或推迟朔日,是人为的牵强附会,还不如废除人为的规定,顺应自然规律,不提前算朔日,这样才能符合实际情况。至理所在,还管别人怎么说呢?这可以告诉那些明白道理的人。

做历法,得跟着日月运行的规律走,观察气朔的盈亏变化。要是连这点基本的规律都不搞清楚,就无法了解天道,更别说让历法和天道吻合了。可是日月运行的速度不一样,气朔的变化也不均匀。古人制定历法,必须推算很久以前的起始时间,叫做“演纪上元”。在这个上元时期,日月五星都在同一个度数上,就像珠子连在一起,璧合一般。但是,因为年代久远,积累的数字动辄上亿,后人嫌计算太麻烦,就互相参考,修改数字,增减日法,以为这样就能改进历法。所以历代的日法都不一样。但用不了多久,又会出偏差。因为天道是自然规律,哪能人为地去凑合呢?

七政(日月五星和水星、火星)在天上运行,进退都有固定的规律。只要我们从根本上搞清楚,仔细验证,那么规律就一目了然,根本藏不住。干嘛要抛弃眼前简便的方法,而去追求亿万年那么长远的方法呢? 现在的《授时历》,以至元辛巳年为起始点,它用的数字都是根据天象推算出来的,秒、分、刻、日,都以一百为基数。跟其他历法相比,那些历法是人为地凑数,而《授时历》是符合自然规律的。

有人说:“古人说制定历法,首先要确定上元,上元确定了才能定日法,日法确定了才能推算周天,才能确定冬至夏至。历法有积累的年日法,从黄帝开始,历法一代代传承,大概有七八十种,没听说过抛弃这个方法还能成功的。现在全部取消,是不是忽略了根本,方法也不对啊?” 这不对。晋朝的杜预说过:“制定历法,应该顺应天道来寻求符合,而不是为了符合而验证天道。” 前代的那些积累计算的方法,不过是为了验证天道而已。现在旧历比较粗糙,需要修改,方法不精确,必须改进,哪有时间继续沿用旧方法呢?所以,我把汉朝以后历法的年日法和使用年数都列在后面,还附上了演积数法,来解答大家的疑问。

《三统历》(西汉太初元年丁丑邓平造,行一百八十八年,至东汉元和乙酉,后天七十八刻。)

积年,一十四万四千五百一十一。

日法,八十一。

《四分历》(东汉元和二年乙酉编造,行一百二十一年,至建安丙戌,后天七刻。)

积年,一万五百六十一。

话说这历法啊,从古至今,换了好几茬了。先说这《乾象历》,是建安十一年(公元211年)刘洪弄出来的,用了三十一年,到魏景初丁巳年(公元244年)才作罢。这期间一共过了8452年,算出来的日数是1457天。

然后是《景初历》,魏景初元年(公元244年)杨伟做的,用了206年,一直到宋元嘉癸未年(公元453年)。这期间一共过了5889年,算出来的日数是4559天。《元嘉历》呢,是宋元嘉二十年(公元443年)何承天弄的,用了20年,到宋大明七年(公元463年)就换了。这20年里一共过了6541年,算出来的日数是752天。

接着是宋大明七年(公元463年)宋祖冲之做的《大明历》,用了58年,到魏正光辛丑年(公元521年)。这58年里一共过了52757年,算出来的日数是3939天。《正光历》是后魏正光二年(公元521年)李业兴做的,用了19年,到兴和庚申年(公元540年)。这19年一共过了168590年,算出来的日数是74952天。

再然后是《兴和历》,兴和二年(公元540年)还是李业兴做的,用了10年,到齐天保庚午年(公元549年)。这10年一共过了204737年,算出来的日数是208530天。《天保历》是北齐天保元年(公元550年)宋景业做的,用了17年,到周天和丙戌年(公元567年)。这17年一共过了111257年,算出来的日数是23660天。

接下来是《天和历》,后周天和元年(公元567年)甄鸾做的,用了13年,到隋大象己亥年(公元580年)。这13年一共过了876570年,算出来的日数是23460天。《大象历》是大象元年(公元579年)马显做的,用了5年,到隋开皇甲辰年(公元584年)。这5年一共过了42255年,算出来的日数是12992天。

最后是《开皇历》,隋开皇四年(公元584年)张宾做的,用了24年,到隋大业戊辰年(公元608年)。这24年一共过了4129697年。

大业四年,张胄元造的《大业历》用了十一年,一共是102960天。 这历法用了十一年,一直用到唐武德二年。

接下来是唐武德二年,道士傅仁均造的《戊寅历》,用了四十六年,一共是165003天。

然后是麟德二年,李淳风造的《麟德历》,用了六十三年的时间,一共是274997天。

开元十六年,僧一行造的《大衍历》,用了三十四年,一共是96962297天,这个数字可真大!

宝应元年,郭献之造的《五纪历》,用了二十三年,一共是274997天。

贞元元年,徐承嗣造的《贞元历》,用了二十七年,一共是403397天。

长庆二年,徐昂造的《宣明历》,用了七十一年的时间,一共是77597天。 书上说这历法是谁造的没写,说是徐昂写的《观象术》丢了,而且是元和年间造的,不是长庆年间。 这个错误最早是周琮犯的,后来守敬也跟着错了。

景福二年,边冈造的《崇元历》,用了十四年,后来又用了六十三年的时间,一共是53947697天。

最后是五代周显德三年,王朴造的《钦天历》,用了五年,一共是13500天。

好家伙,这堆数字看得我头都大了!这是在说历法的事儿吧? 咱们一句一句地捋捋。

第一句,“积年,七千二百六十九万八千七百七十七。” 意思是说,这个历法算出来的总年数是七千二百六十九万八千七百七十七年。

第二句,“日法,七千二百。” 这指的是这个历法里,一天有多少个什么单位,具体是什么单位,得看上下文,反正就是个计算方法。

第三句,“《应天历》(宋建隆元年庚申王处讷造,行二十一年,至太平兴国辛巳,后天二刻。)” 这是说《应天历》,是宋朝建隆元年(庚申年,具体哪一年得查查黄历)王处讷制定的,用了二十一年,到太平兴国辛巳年结束,还差两刻钟才到一天。

接下来,“积年,四百八十二万五千八百七十七。” 又是另一个历法的总年数,是四百八十二万五千八百七十七年。

“日法,一万单二。” 这个历法的日法是一万零二。

“《乾元历》(太平兴国六年辛巳吴昭素造,行二十年,至咸平辛丑,合。)” 这是《乾元历》,太平兴国六年(辛巳年)吴昭素制定的,用了二十年,到咸平辛丑年正好结束。

“积年,三千五十四万四千二百七十七。” 《仪天历》的总年数是三千五十四万四千二百七十七年。

“日法,二千九百四十。” 它的日法是二千九百四十。

“《仪天历》(咸平四年辛丑史序造,行二十三年,至天圣甲子,合。)” 《仪天历》是咸平四年(辛丑年)史序制定的,用了二十三年,到天圣甲子年正好结束。

“积年,七十一万六千七百七十七。” 《崇天历》的总年数是七十一万六千七百七十七年。

“日法,一万一百。” 它的日法是一万一百。

“《崇天历》(天圣二年甲子宋行古造,行四十年,至治平甲辰,后天五十四刻。)” 《崇天历》是天圣二年(甲子年)宋行古制定的,用了四十年,到治平甲辰年结束,还差五十四刻钟才到一天。

“积年,九千七百五十五万六千五百九十七。” 《明天历》的总年数是九千七百五十五万六千五百九十七年。

“日法,一万五百九十。” 它的日法是一万五百九十。

“《明天历》(治平元年甲辰周琮造,行一十年,至熙宁甲寅,合。)” 《明天历》是治平元年(甲辰年)周琮制定的,用了十年,到熙宁甲寅年正好结束。

“积年,七十一万一千九百七十七。” 《奉元历》的总年数是七十一万一千九百七十七年。

“日法,三万九千。” 它的日法是三万九千。

“《奉元历》(熙宁十七年甲寅卫朴造,行十八年,至元祐壬申,后天七刻。)” 《奉元历》是熙宁十七年(甲寅年)卫朴制定的,用了十八年,到元祐壬申年结束,还差七刻钟才到一天。

“积年,八千三百一十八万五千二百七十七。” 《观天历》的总年数是八千三百一十八万五千二百七十七年。

“日法,二万三千七百。” 它的日法是二万三千七百。

“《观天历》(元祐七年壬申皇居卿造,行三十一年,至崇宁癸未,先天六刻。)” 《观天历》是元祐七年(壬申年)皇居卿制定的,用了三十一年,到崇宁癸未年结束,提前了六刻钟。

“积年,五百九十四万四千九百九十七。” 《占天历》的总年数是五百九十四万四千九百九十七年。

“日法,一万二千三十。” 它的日法是一万二千三十。

“《占天历》(崇宁二年癸未姚舜辅造,行三年,至丙戌,后天四刻。)” 《占天历》是崇宁二年(癸未年)姚舜辅制定的,用了三年,到丙戌年结束,还差四刻钟才到一天。

“积年,二千五百五十万一千九百三十七。” 《纪元历》的总年数是二千五百五十万一千九百三十七年。

“日法,二万八千八十。” 它的日法是二万八千八十。

“《纪元历》(崇宁五年丙戌姚舜辅造,行二十一年,至金天会丁未,合。)” 《纪元历》是崇宁五年(丙戌年)姚舜辅制定的,用了二十一年,到金朝天会丁未年正好结束。

“积年,二千八百六十一万三千四百六十七。” 最后一个历法的总年数是二千八百六十一万三千四百六十七年。

“日法,七千二百九十。” 它的日法是七千二百九十。 这可真是个天文数字啊!

咱们来看看这些历法,从《大明历》开始说起。金朝天会五年,也就是丁未年,杨级造的《大明历》,用了五十三年的时间,一直用到大定庚子年才结束,合计时间是:积年,三亿八千三百七十六万八千六百五十七;日法,五千二百三十。

后来,大定二十年庚子年,赵知微又重修了《大明历》,这次用了111年,一直用到元朝至元辛巳年才结束,还剩下一十九刻。这次的合计时间是:积年,八千八百六十三万九千七百五十七;日法,五千二百三十。

南宋绍兴五年乙卯年,陈得一创造了《统元历》,用了三十二年,到乾道丁亥年结束。它一共记录了:积年,九千四百二十五万一千七百三十七;日法,六千九百三十。

接着是《乾道历》,乾道三年丁亥年,刘孝荣创造,用了九年,到淳熙丙申年结束,还剩下一刻。合计时间是:积年,九千一百六十四万五千九百三十七;日法,三万。

然后是《淳熙历》,淳熙三年丙申年,还是刘孝荣创造的,用了十五年,到绍熙辛亥年结束。这次的记录是:积年,五千二百四十二万二千七十七;日法,五千六百四十。

再然后是《会元历》,绍熙二年辛亥年,还是刘孝荣,用了八年,到庆元己未年结束,还剩十刻。合计:积年,二千五百四十九万四千八百五十七;日法,三万八千七百。

《统天历》是庆元五年己未年,杨忠辅创造的,用了八年,到开禧丁卯年结束,还剩六刻。合计:积年,三千九百一十七;日法,一万二千。

《开禧历》是开禧三年丁卯年,鲍浣之创造的,用了四十四年,到淳祐辛亥年结束,还剩七刻。合计:积年,七百八十四万八千二百五十七;日法,一万六千九百。

《淳祐历》是淳祐十年庚戌年,李德卿创造的,只用了两年,到壬子年就结束了。合计:积年一亿二千二十六万七千六百七十七;日法,三千五百三十。

最后是《会天历》,宝祐元年癸丑年,谭玉创造的,用了十八年,到咸淳辛未年结束,还剩下一刻。

话说这历法啊,可真是个让人头疼的东西。你看这第一本《成天历》,从咸淳七年辛未陈鼎造,用了四年,到至元辛巳才停用,前后一共积年一千一百三十五万六千一百五十七,日法九千七百四十。后面还差一刻才到天。

接着是《皇极历》,大业年间刘焯造的,可惜中途受阻没用上,直到唐武德三年己卯才算完,前后积年七千一百七十五万八千一百四十七,日法七千四百二十,差了四十三刻才到天。这本和下一本都没怎么用过,只在一些典籍里见过。

再看《乙未历》,大定二十年庚子耶律履造的,也没用上,到辛巳年结束,积年一百万九千五百一十七,日法一千二百四十二,差了十九刻才到天。

最后是《授时历》,元至元十八年辛巳年正式启用,积年四千四十三万二千一百二十六,日法二千六百九十。不过这积年日法,其实没怎么用上,只实测到了至元十八年辛巳。

接下来是些更具体的参数了,都是些气应、闰应、经朔之类的专业术语。至元十八年辛巳年,气应五十五日六百分,闰应二十日一千八百五十分,经朔三十四日八千七百五十分,日法二千一百九十。 根据演纪上元己亥推算,距至元辛巳九千八百二十五万一千四百二十二算。

另一组数据:气应五十五日六百二分,闰应二十日一千八百五十三分,经朔三十四日八千七百四十九分,日法八千二百七十,演纪上元甲子,距辛巳五百六十七万五百五十七算,日命甲子。

还有一组:气应五十五日五百三十三分,闰应二十日一千八百八分,经朔三十四日八千七百二十五分,日法六千五百七十,演纪上元甲子,距辛巳三千九百七十五万二千五百三十七算。

最后这组:气应五十五日六百三十一分,闰应二十日一千九百一十九分,经朔三十四日八千七百一十二分。 这些数字,看着就让人头大!