咱们先说说历法这回事儿。从尧帝命令羲和观测日月星辰,用闰月来确定四季和一年,这事儿《尚书》里头略微记载了一些。夏、商、周三代,他们改动历法的起始日期,历法本身就不同了,但具体方法失传了。到了汉朝造历法,开始用八十一份作为计算的基数,这个数字来源于黄钟律管的音律,所以汉代的历法其实跟音律有关。后来刘歆又用《春秋》和《易经》的卦象来推算历法,这其实就是牵强附会了。到了唐朝一行和尚,才开始完全用大衍数列来推算历法,这下历法又跟《易经》扯上关系了。
总的来说,历法起源于数字,数字是自然规律的体现,它的运用无穷无尽,无所不能,用在音律上,用在《易经》上,都能说得通。但是,历法的关键在于观察天地的气象,从而了解四季的寒暑变化,还要仰望天空,观察日月星辰的运行,把这些都结合起来。四季的寒暑变化,你看不见摸不着,却在地球上运行着;日月星辰有形体,在天上运行着。这两者都在不停地运动,一个有形,一个无形,时而出现,时而消失,时而上升,时而下降,速度时快时慢,彼此之间并没有什么联系。时间长了,难免会有偏差,这是客观规律使然。所以,制定历法,一开始肯定是很精确的,但时间久了,就会出现疏漏和偏差,这也是很正常的。出现偏差,那就得不断修改历法来弥补。从尧舜时代,到夏商周三代,历法就没统一过。
唐朝从头到尾二百九十多年,历法改了八次。一开始是《戊寅元历》,然后是《麟德甲子元历》,《开元大衍历》,《宝应五纪历》,《建中正元历》,《元和观象历》,《长庆宣明历》,最后是《景福崇玄历》,之后就再没改了。
老李家(指李渊,唐高祖)当了皇帝,准备制定新的历法。当时东都(洛阳)有个道士叫傅仁均,特别擅长推算星象,算命很准。太史令庾俭和丞相傅奕都向皇帝推荐了他。
皇帝就下令让傅仁均跟庾俭他们一起研究制定新历法,最后定名为《戊寅元历》。 傅仁均把这套新历法的要点列出来,说它有七个方面可以验证它的准确性:第一,“唐朝是戊寅年甲子日登基的,咱们这历法元年也是戊寅年,第一天也是甲子日,这跟汉朝的《太初历》一样啊!”;第二,“冬至点每五十年左右会偏移一度,白天变短,星宿昴宿的位置也符合《尧典》的记载”;第三,“周幽王六年十月辛卯朔日发生日食,这跟《诗经》里记载的一样”;第四,“鲁僖公五年壬子日冬至,这跟《春秋命历序》里写的一样”;第五,“月亮有时大有时小,日食总发生在朔日(农历初一),月食总发生在望日(农历十五)”;第六,“命辰起子半,命度起虚六,这符合阴阳的起始规律”;第七,“根据日月的运行速度确定朔日(初一),这样月亮在月末就不会出现在东方,初一也不会出现在西方”。
老李家皇帝下令,从第二年开始用这套新历法,还把傅仁均提拔成了员外散骑侍郎,官儿升了。
三年正月十五和二月、八月的初一,都应该发生日食,结果没发生,预测不准。六年后,皇帝下令让吏部郎中祖孝孙调查这件事到底是怎么回事。祖孝孙就让算历博士王孝通用《甲辰历》的算法来反驳他,王孝通说:“《夏小正》说‘日短星昴,以正仲冬’,意思是说,当看到昴宿出现的时候,就表示正值仲冬。七宿都出现的时候,我们只需要看中间的星宿就可以了,只要知道中间的星宿,其他的星宿的位置也就知道了。你却死盯着昴宿的中间位置不放,拘泥于文字而忽略了实际情况,这不是很荒谬吗?再说,《月令》里说仲冬时节‘傍晚时分,东壁宿在正南方’,这说明昴宿的中间位置并不是一个恒定的标准。即使尧帝时代,昴宿在傍晚出现在正南方,也和现在的位置有偏差,已经偏到了东壁宿的位置。那么,如果推算到尧帝之前的七千多年,冬至时傍晚看到的星宿应该是翼宿,而太阳应该在东井宿的位置。东井宿在北极星的北边,离我们最近,所以天气炎热;斗宿在南极星的南边,离我们最远,所以天气寒冷。如果寒暑交替颠倒了,那是不可能的。” “再说,关于朔日的确定,古来就有两种说法:一种是‘三大三小’法,用于确定朔日和望日;另一种是‘一大一小’法,用于确定朔日和望日。日月运行的速度有快有慢,当它们运行到同一位置时,就叫做‘合会’。晦日和朔日是不固定的,取决于时间变化。如果把大小月都规定在朔日,那么虽然合会的时间确定了,但是蔀、元、纪这三个周期开始的时间就都错了。如果能够在开始的时候符合实际情况,在结束的时候也能得到正确的余数,合会的时间也准确无误,那么《甲辰元历》就是一种通用的方法了。”
祖仁均回答说:“宋朝的祖冲之已经计算出了岁差,隋朝的张胄玄等人也根据祖冲之的成果进行了修订。虽然他们计算出来的岁差数值不同,但各自都阐明了自己的道理。王孝通你没有理解这一点,却坚持认为南斗星是冬至时恒定的星宿。其实,太阳在星宿中的运行轨迹,就像车轮在路上滚动一样,星宿的位置会发生变化,黄道也会随之改变。《尚书》上说:‘季秋月朔,辰弗集于房’,孔颖达解释说:‘集,就是相合的意思。如果不相合,就预示着将要发生日食。’书上还说:‘提前的要杀头,延误的也要杀头。’既然有时间上的先后之差,那么确定朔日就有了依据。《诗经》上说:‘十月之交,朔月辛卯。’《春秋传》也说:‘不记载朔日,是官员失职。’从秦汉以来,很多日食的预测都不准确,就是因为历法有误差。宋朝的御史中丞何承天曾经想改进历法,但由于没能深入研究,被散骑侍郎皮延宗等人压制住了。王孝通你说的这些,其实都是皮延宗以前的说法。制定历法的根本,在于推算上元,也就是日月像合璧一样,五星像连珠一样,在夜半子时朔日冬至的时候。从这个时候开始,七曜各自运行,不再有剩余部分,最终又会回到初始状态。只有朔日和节气,才有一定的规律可循,因为它们有规律可循,所以才会有那三个周期。这只是用来记录天数的起始点而已。有人认为这就是夜半子时朔日冬至,这是不对的。冬至有固定的天数,朔日是根据月亮的运行来确定的,月亮运行的快慢是不固定的,这三个周期怎么可能刚好相符呢?所以,必须是日月相合和冬至在同一天,才算是合朔冬至。”祖孝孙认为祖仁均说得有道理,只是略去了其中一些过于粗疏的地方。
九年后,朝廷又下令让大理卿崔善为跟傅仁均他们一起,对历法进行比较和修改。崔善为一共改了数十条。一开始,傅仁均的历法是以武德元年为起始,但是气象、朔日、日长短、日月交会以及五星的运行,都和实际情况存在一些出入。这次修改之后,又重新使用了上元积算的方法来计算。这个周天度,就是古代所说的赤道。
贞观初年,负责天文观测的李淳风又上书提出了十八个问题,朝廷再次下令让崔善为比较两家历法的优劣,其中七条采纳了李淳风的意见。贞观十四年,唐太宗准备亲自祭祀南郊,根据当时的历法,十一月癸亥日是朔日,甲子日是冬至。但是李淳风的新历法计算结果是甲子日既是朔日又是冬至。于是李淳风上奏说:“古代历法把一天的开始定在子时的一半。十一月甲子日是朔日又是冬至,所以太史令傅仁均把剩余的时间稍微减少了一些,把子时开始算作朔日,因此就差了三刻钟。”负责天文计算的南宫子明、太史令薛颐等人则说:“子时开始到子时一半的时候,日月还没有完全分开。李淳风的历法,跟春秋时代以来观测到的日影长度和日食情况都比较符合。”国子祭酒孔颖达等人以及尚书省的官员们都参与讨论,最终决定采纳李淳风的意见。而且用平朔法推算,两种历法都认为朔日是冬至,这和实际情况比较接近。再说,平朔法自古以来就一直使用,《春秋传》里记载的某些错误,就是因为把晦日误认为朔日造成的。虽然癸亥日日月已经接近,但第二天甲子日才是朔日,这也说得通。所以最终采纳了李淳风的意见。
贞观十八年,李淳风又上奏说:“傅仁均的历法在计算日食的时候,存在三个较大的误差和三个较小的误差,他说日月食必定发生在朔望日。但是十九年九月以后,连续四个朔日都会出现较大的误差。”朝廷于是召集所有懂历法的人详细研究,但始终无法确定哪个更准确。最后,在庚子日,朝廷决定继续使用傅仁均的平朔法,一直用到麟德元年。
傅仁均的历法继承了以前的一些成果,并参考了刘孝孙的意见,但总体上不如李淳风的历法完善。不过两者之间各有优劣,互相补充,李淳风也无法完全超越傅仁均的历法。我这里记录的是崔善为比较后的结果。
《戊寅历》上元戊寅年到武德九年丙戌年,共计十六万四千三百四十八算。
章岁六百七十六。(也叫行分法。)章闰二百四十九。章月八千三百六十一。
月法三十八万四千七十五。日法万三千六。时法六千五百三度法、气法九千四百六十四气时法千一百八十三。
这段文字描述的是古代历法计算方法,相当复杂。咱们一句一句来,用大白话解释一下。
首先,它给出了几个基本数值:一年有三百四十五万六千六百七十五个什么单位(可能是某种更小的计时单位),剩余二千三百一十五个单位;一周……(此处略去具体数值,因为是专业术语);等等。这些数字看着眼晕,但其实就是定义了一些基本参数,就像现在我们说的秒、分、小时一样。
接下来,它开始计算历日(大概相当于我们说的天数):历日是二十七天,剩余一万六千六十四个单位;等等。这些计算过程,都是基于前面那些基本参数进行的。 这部分像是在进行一些基础的单位换算和余数处理。
然后,它介绍了如何计算“积月”和“朔积日”。 这部分用到了乘法,有点像我们现在用公式计算一样,只不过公式更复杂,而且用的是古代的术语。 “章月乘年”之类的说法,听着古色古香,但其实就是一种计算方法。 “朔积日”大概是指从朔日(农历初一)开始算起的总天数。
接下来,它开始计算“大余”和“小余”,并用这些余数来计算“上弦”、“望”、“下弦”等月相。 这部分计算过程非常复杂,涉及到多次加减运算,以及一些特殊的算法,例如“小分四之三”这种说法,需要结合当时的历法知识才能理解。 总之,就是通过一系列复杂的计算,来确定月相出现的日期。
最后,它介绍了如何计算“没日”和“气积日”,以及如何根据这些计算结果来确定节气和一些其他的历法参数。 这部分同样涉及到复杂的计算,而且用到了很多古代术语,例如“没分”、“没法”等等,这些都需要专门研究古代历法才能理解其含义。 这部分的计算,目的是为了精确地确定节气和一些重要的天文事件的日期。
最后一段,描述了如何利用前面计算的结果,结合一些比例系数(“损益率”),来更精确地计算月相和节气出现的具体时间,以及如何将这些时间换算成我们日常使用的历法。 这部分内容,已经涉及到历法修正和精度的提高。 “以万四千四百八十四乘平朔小余”这种计算,看起来很复杂,但其实也是一种基于已有数据进行的修正和调整。
总而言之,这段文字描述的是一套非常复杂的古代历法计算方法,其逻辑和计算过程都非常繁琐,需要具备一定的古代天文历法知识才能完全理解。 它体现了古代人民对天文历法的精深研究,以及对时间计算的精确追求。
咱们一步一步来解释这个计算过程。首先,算出每天的运行差值,也就是第二天和前一天运行距离的差,多了就记为进,少了就记为退。然后减去一个固定的数值676,这个叫差法。接下来,把平朔、弦、望这几个时间点加上的时间,乘以相应的损益率,来调整积分,再用差法去除,得到最终的盈缩积分。
然后,处理平朔、弦、望的剩余时间。根据积分的盈余或不足,进行加减,如果超过或不足一天,就调整日期。这些盈余和不足,以及日期的调整,都记录下来,作为最终结果的一部分,跟甲子纪日是分开的。用一年的运行距离乘以年数得到积分,如果超过一周期就减去,剩下的部分按照一定的比例换算成度数。用一个虚数6进行运算,再减去斗分,就能得到冬至的度数和分数。用冬至的度数和分数减去朔日的度数和分数,得到天正平朔前夜半的度数和分数。(这里用十四约简度数和分数,得到行分。小分满法成行分,行分满法成度。如果要记录在历法里,还要用二十六约简行分。月星的计算方法与此相同。斗分是177,小分是7.5)
累加一度,得到次日。用行分法乘以朔、望的剩余数值,除以929得到度分,再用14约简得到行分。加上夜半的度数,得到朔、望加时日的度数。朔日加时,日月同度。望日则需要加上182度,426行分,10小分。用夜半剩余时间乘以行差,如果满了一天的历法单位,就加或减历行分,得到最终的行分。用朔日的剩余数值乘以行差,如果满了一天,就得到行分。用这个行分减去加时月度,得到朔、望夜半的月度。要计算次日,就加上月行定分,然后累加。
总的运行距离是3775023。
一天的运行距离是398度,596行分,7小分。
平见,入冬至初日,减去5411行分。之后每天减少120分。立春初,每天增加60分。春分,每天增加4日。清明和谷雨,每天增加5日。立夏到大暑,每天增加6日。立秋初日,增加480分。之后每天减少67分。入寒露,每天增加117分。入小雪到大雪,每天减少8日。
第一次看到它的时候,它运行的速度很快,第一天走171分,每天都慢一点,114天走了19度29分。然后它停了下来,停了26天。接着它开始倒着走,每天走97分,84天倒着走了12度36分。之后,它又停了下来,这次停了25天596分,还多出7小分。(凡是五星停留时间有零头分的,就加上最初看到它时的那一天走的度数。如果度数满了,就减掉,再加一天。)然后它又开始往前走,第一天走了60分,每天速度越来越快,114天走了19度437分。然后它就消失了。
它的运行速度总共是7381223分。
全年总共779天,走了626分,还多出3小分。
平常情况下,从冬至开始算,每天要减去16354分。然后每天减少的度数减少545分。到了大寒节气,每天增加的度数增加426分。过了雨水节气后,每天都增加29分。到了立夏节气开始的那一天,每天增加的度数是19392分。然后每天增加的度数减少213分。到了立秋节气开始,就恢复到平常的情况。到了处暑节气,每天减少的度数增加184分。过了小雪节气后,每天都减少25分。
第一次观测,是在冬至那天开始的。最初的240天里,每天运行163度。之后两天,每天运行的度数减少一度,从第128天开始,接下来的177天里,每天运行99度,一共持续了161天。再接下来的三天,每天运行的度数又减少一度,持续到第182天,接下来的170天里,每天运行92度,一共持续了188天。然后,接下来的三天,每天运行的度数增加一度,持续到第227天,接下来的183天里,每天运行105度。之后两天,每天运行的度数又增加一度,持续到第249天,接下来的194天里,每天运行116度。之后每天运行的度数都增加一度,持续到第210天,接下来的255天里,每天运行177度,一共持续了337天。然后,接下来的两天,每天运行的度数减少一度,直到大雪节气,又回到了最初观测的状态。
进入小寒节气后,每三天减少一天的运行时间。进入雨水节气,一直到立夏节气,平均每天减少20天的运行时间。此后,每三天减少的运行时间减少一天,一直到小暑节气,就保持这个减少的速率不变了,成为固定的日运行速率。如果是在处暑节气开始观测,一直到秋分节气结束,每天减少的度数都是6度。这些都是根据冬至后天数的变化而增减的,还要根据节气的不同而进行相应的调整,这就是前面提到的快速运行速率。如果开始观测是在大寒节气,一直到结束观测是大暑节气,运行速度会有差异,每天都会慢一些;其他节气则运行速度一致。如果开始观测是在白露节气,一直到结束观测是秋分节气,开始会比较慢,每天运行半度,40天运行20度。(也就是每天减少40天运行时间,度数减少20度,这半度是另外计算的。运行结束后,再计算平均运行速度,然后继续计算。用运行速度乘以度数的固定速率,除以日运行速率,得到平均运行速度。如果不能整除,则有小数部分。计算速度差异时,先减少日运行速率1,再取一半,加上平均运行速度,得到第一天运行速度。)每个节气都有各自的日运行度数和运行速度。第一天运行速度是326分,每天速度都会慢一些,慢1.5分,60天运行25度5分。(前面提到的每天减少6度的,运行31度5分。这比第一天慢67分,小数部分是60分之36。)
然后停留了13天。(前面提到的每天减少运行时间的,要将天数除以2,然后取余数,余数放在后面。)然后开始回退,每天运行192分,60天回退17度28分。又停留了12天626分,小数部分是3。
这段文字描述的是古代历法中太阳运行速度的计算方法,非常专业,我们一句一句地用现代口语解释一下。
“又顺。后迟,初日行二百三十八分,日益疾一分半,六十日行二十五度三十五分。” 意思是说,接下来是顺行(太阳正常运行),但之后会变慢。第一天运行238分,之后每天速度增加1.5分,这样60天一共运行了25度35分。
“(此迟在立秋至秋分者,加六度,行三十一度三十五分。此迟初日加行分六十七、小分六十分之三十六。)而后疾。” 括号里补充说明,如果这段变慢的时期在立秋到秋分之间,需要额外加上6度,总共运行31度35分。第一天额外增加的运行量是67分又36/60分(也就是67.6分)。 之后太阳运行速度会加快。
“入冬至,初率二百一十四日行百三十六度。乃每日损一,尽三十七日,率百七十七日行九十九度。又二日损一,尽五十七日,率百六十七日行八十九度,毕七十九日。” 到了冬至,开始计算新的运行速度。最初的速率是214天运行136度。然后每天减少1分,持续37天,之后速率变成177天运行99度。再接下来是每两天减少1分,持续57天,速率变成167天运行89度,总共是79天。
“又三日益一,尽百三十日,率百八十四日行百六度。又二日益一,尽百四十四日,率百九十一日行百一十三度。又每日益一,尽百九十日,率二百三十七日行百五十九度。” 之后是每三天增加1分,持续130天,速率变成184天运行106度。然后是每两天增加1分,持续144天,速率变成191天运行113度。接着是每天增加1分,持续190天,速率变成237天运行159度。
“又每日益二,尽二百日,率二百五十七日行百七十九度。又每日益一,尽二百一十日,率二百六十七日行百八十九度,毕二百五十九日。乃二日损一,毕大雪,复初。后迟加六度者,此后疾去度率六,为定。” 之后是每天增加2分,持续200天,速率变成257天运行179度。然后是每天增加1分,持续210天,速率变成267天运行189度,总共259天。然后每两天减少1分,到冬至大雪节气结束,恢复到初始状态。如果之前变慢的时期额外加了6度,那么之后加快时,每天的度数就要减少6分。
“各依冬至后日数而损益之,为后疾日度率。若入立夏,毕夏至,日行半度,尽六十日,行三十度。若入小暑,毕大暑,尽四十日,行二十度(皆去日度率,别为半度之。行讫,然后求平行分,续之。)各尽其日度而伏。” 根据冬至后的天数来调整增加或减少的度数,这就是之后加快时每天的度数。如果到了立夏,到夏至,每天运行半度,60天运行30度。如果到了小暑,到夏至,40天运行20度。(这些都是单独计算的,每天运行半度。计算完毕后,再计算平行的分数,然后继续计算)。每个阶段都按照各自的天数和度数计算。
“率三百五十七万八千二百四十六。” 总计是3578246(单位不明)。
“终日三百七十八,行分六十一。” 一年378天,运行61分。
“平见,入冬至初日,减四千八百一十四分。乃日增所减七十九分。入小寒,均减九日。乃每气损所减一日。入夏至初日,均减二日。自后十日损所减一日。小暑五日外,依平。入大暑,日增所加百八十一分。入处暑,均加九日。入白露初日,加六千二分。乃日损所加百三十三分。入霜降,日增所减七十九分。” 这是对一些特定节气进行的调整,例如冬至第一天减少4814分,之后每天增加减少的量79分。小寒平均减少9天,每气减少一天。夏至第一天平均减少2天,之后每10天减少一天。小暑之后5天,按照平均值计算。大暑增加181分,处暑增加9天,白露第一天增加6002分,之后每天减少增加的量133分,霜降增加减少的量79分。
整段文字描述的是一种复杂的历法计算方法,涉及到太阳运行速度的调整和不同节气的修正。 其精确性与现代历法相比可能有所差异,但体现了古代天文历法的高度发展。
第一次观察,它(指天体,下同)是顺行的,每天走六十分,83天走了七度二百四十八分。然后它停留了38天。接着它开始逆行,每天后退41分,100天后退了六度四十四分。之后又停留了37天61分。然后它又顺行,每天走六十分,83天走了七度二百四十八分,然后就伏起来了。
总共走了552万6千2百(分)。
每天走620分,小分8。全天一共是583分。
早晨看到它伏起来,一共是327天,每天走620分,小分8。
晚上看到它伏起来,一共是256天。
早晨平视的时候,进入冬至,保持平稳。进入小寒,每天增加66分。进入立春到立夏,每天都增加3天。小满第一天,增加1964分。然后每天减少60分。进入夏至,保持平稳。进入小暑,每天增加减少60分。进入立秋到立冬,每天都减少3天。小雪第一天,减少1964分。然后每天减少66分。
第一次观察到它逆行,每天后退半度,十天后退五度。然后停留了九天。之后它顺行,开始比较慢,速度每天增加8分,40天走了30度。从大雪到小满,都按照这个规律。进入芒种,十天减少一度。进入小暑到霜降,每天都减少三度。进入立冬,十天减少一度,到小雪结束。这些都是固定的度数。(用行分法乘以定度,再除以40,就是平行分。再用4乘以39,然后减去平行分,就是初日行分。)平行的时候,每天一度,十五天走十五度。进入小寒,十天每天增加一度。雨水之后,都是21天走21度。春分之后,十天减少一度。到立夏结束,保持平稳。小满之后,六天减少一度。到立秋结束,度数都走完了,没有平行度数了。霜降之后,四天增加一度。到下雪结束,保持平稳。快速的时候,170天走240度。(前面顺行时速度变慢减少的度数,要加到这个度数里,作为最终的度数。)然后早晨伏起来。
话说古人观察日影,记录了太阳运行的规律。冬至那天,太阳开始一天天变高,每天增加的度数,一开始是百分之一,到了惊蛰,春分,每天减少的度数就变成九分之一了。清明第一天,每天减少的度数是五千九百八十六分之一,然后每天减少的度数又慢慢变少,直到芒种,恢复到之前的规律。夏至那天,太阳又开始一天天变低,每天减少的度数,一开始也是百分之一,到了处暑,秋分,每天增加的度数就变成九分之一了。寒露第一天,每天增加的度数是五千九百八十六分之一,然后每天增加的度数又慢慢变少,直到大雪,又恢复到之前的规律。
接下来是关于日行度的描述。一开始,太阳运行很快,一百七十天能运行二百四十度。从冬至到立夏,都遵循这个规律。到了小满,每天增加的度数要加六分之一度。到了夏至,到小暑,每天增加的度数是五度。到了大暑,每天减少的度数是一度。从立秋到下大雪,则恢复到之前的规律。从白露到春分,太阳运行速度越来越快,每天快一分半。用一分半乘以一百六十九再除以二,再加上之前的速度,就是清明这天的运行速度。从清明到处暑,太阳运行速度保持不变,每天运行一度,十五天运行十五度。冬至之后,每十天减少一度。从惊蛰到芒种,九天运行九度。夏至之后,每五天增加一度。大暑之后恢复之前的规律。立秋之后,每六天增加一度。到秋分,二十五天运行二十五度。寒露之后,每六天减少一度。大雪之后,恢复之前的规律。如果太阳运行速度慢,每天慢八分之一度,四十天运行三十度。(前面增加的度数,这里要根据这个数目减少。)还要再等九天,然后太阳运行速度开始变慢,每天慢半度,十天慢五度,然后就伏藏起来了。
总共是十九万六千六百八十三(这个数字是啥单位没说清楚)。每天运行一百一十五度,五百九十四分之七。
早晨看到伏日是六十三天,每天运行一百一十五度,五百九十四分之七。
傍晚看到伏日是五十二天。
早晨太阳运行正常,冬至那天,每天减少四度。小寒那天恢复正常。立春之后,每天减少三度。雨水到立夏,能不能看到太阳,要看情况。(如果在惊蛰和立夏节气之间,太阳运行度数在十八度到三十六度之间,早晨看到木星、火星、土星、金星其中一颗星,就能看到太阳。)小满恢复正常。霜降到立冬,每天增加一度。小雪到大雪十二天,恢复正常。如果超过大雪十三天,每天增加或减少一度。
第一次看到它的时候,停留了六天。之后运行缓慢,每天走169分。进入大寒节气后,直到惊蛰结束,都没有这么慢的速度。然后就匀速运行了,每天走一度,十天走十度。在大寒节气之后,两天就减少一度和一分,到二十天的时候,度和分都走完了,之后就没有这种匀速运行了。速度快的时候,每天走一度六百九十分,十天走十九度六分。(之前没有慢的情况,这次快速运行每天减少二百三分,十天走十六度四分。)然后它就早晨潜伏了。
傍晚能看到它的时候,在冬至之后,运行速度是匀速的。进入谷雨节气后,到芒种节气结束,每天都减少两度。进入夏至节气后,又恢复匀速运行。进入立秋节气后,到霜降节气结束,本该出现却没出现。(不过在立秋、霜降节气期间,傍晚有星星像之前一样远离太阳,也能看到。)进入立冬节气后,到大雪节气结束,运行速度是匀速的。
第一次看到它,运行速度很快,每天走一度六百九十分,十天走十九度六分。如果进入小暑节气后,到处暑节气结束,每天减少二百三分。然后就匀速运行了,每天走一度,十天走十度。在大暑节气之后,两天就减少一度和一分,到二十天的时候,度和分都走完了,之后就没有这种匀速运行了。运行速度慢的时候,每天走169分。(如果快速运行每天减少二百三分,那就不用考虑慢的情况了。)然后又停留了六天七分。然后傍晚潜伏了。
分别用星星运行的速度乘以过去一年走过的度数,剩下的再用这个速度减去,剩下的按照度数的算法,得到一就是一天,就能得到冬至之后早晨能看到的日期和度数。用冬至到朔日的日期和度数加起来,从天正开始,根据每个月的天数计算,确定日期,除了日期计算之外,就能得到它所在的年月日。金星和水星,分别用早晨出现和潜伏的日期和度数加起来,就能得到傍晚能看到的日期。分别用星星第一次出现时加减的度数,计算之后几天损益的数目来进行损益。计算完之后,就用加减后的傍晚可见的日期作为最终确定的日期。加减的度数都按照满行的度数算法来计算日期。用确定的日期减去朔日以及度数,加上朔日前半夜的度数,再加上星星第一次出现时与太阳的距离,岁星是十四,太白是十一,荧惑、镇星、辰星都是十七,早晨减去,傍晚加上,就能得到第一次出现时的宿度。要计算第二天,分别加上一天走的度数和分。荧惑和太白有小数的话,分别用每天运行的度数作为母数。(如果运行速度有增加或减少的情况,另外列出一天走的度数,用它们的差值来增加或减少,然后加起来。)停留的情况根据之前的情况来计算,后退就按照减少来计算,潜伏的情况不记录度数。顺行出斗,减去它的度数;逆行入斗,先加上度数。计算完之后,都用二十六约简度数和分,得到度数和分。
第一段:
咱们算出来的交会法是127411258分,交分法是6376229分。朔差是1854942分,望分是6913350分。交限是58278558分,望差是5427471分。外限是6767829分,中限是1235110258分,内限是1219114587分。
第二段:
接下来算天正月的朔日,用朔差乘以月份,然后减去交会法,剩下的就是天正月朔日进入平交分的数值。要算望日,就在这个数值上加上望分。要算下个月的朔日,就在这个数值上加上朔差。朔望日如果落在 大雪节气到冬至节气之间,就按平交分来算;如果落在小寒节气,每天要加上1650分的“气差”;如果落在惊蛰节气到清明节气之间,每天都加上76100分;从清明节气之后,每天就要减少之前加上的1650分;如果落在芒种节气到夏至节气之间,就按平交分来算;如果加上的数值超过了交会法,就减去交会法。
第三段:
(如果朔日落在小寒到雨水之间,或者立夏到小满之间,并且这两个节气的时间加起来还不到两个时辰,就只加一半的气差;如果超过两个时辰,就不加。如果望差以下,或者外限以上有星伏,木星和土星要在十天以外才能看到,火星要在四十天以外才能看到,金星和晨星要在二十二天以外才能看到,如果有任何一颗星符合这个条件,就不加气差。)小暑节气之后,每天要增加之前减少的1200分;白露节气到霜降节气之间,每天都减少95825分;立冬节气第一天,减少63300分,之后每天减少的数值都要减少2110分;如果减少的数值不够,就用交会法减去它,剩下的就是最终的交分。
第四段:
(如果朔日落在交限到内限之间,并且交分落在中限以下,如果有上面提到的星伏现象,就不减。)如果算出来的交分没达到交分法,那就是在外道;如果达到了,就减去交分法,剩下的数值是在内道。如果小于望差,那就是去先交分;如果大于交限,就用交限减去交分,剩下的数值就是去后交分。这三种情况都用三日法来推算时间。望日发生月蚀,朔日如果在内道就发生日蚀。(即使在 外道,如果离交分近,也会发生日蚀;如果在内道,但离交分远,就不会发生日蚀。)
先算月蚀。先确定一个小的剩余值。每天减少280;如果是15日,就加上;如果是14日,就加上550;如果是28日,就减去;其他日子都增加或减少280,得到每月蚀的剩余值。再用这个值乘以12,除以时法(应该是某种时间单位),把半个算出来的值去掉;如果除不尽,得到月蚀的加时。如果这个小的剩余值小于半个夜漏(应该是指计时工具),就把日期往前提一天计算。
接下来算日蚀。先确定朔日(农历初一)的剩余值。每天减少280;如果是15日,就加上;如果是14日,就减去;得到一个定值。这里不再考虑四季的加减限制。具体方法是:春天,从交点(应该是指日月交点)后四时(应该是指时间单位)开始计算,增加或减少280;夏天,增加或减少280;秋天,如果在交点后十一时以下,只增加280;如果超过十一时,增加550再减少280;冬天,如果在交点后五时以下,只增加280。这些都得到一个剩余值。再用这个值乘以12,除以时法,去掉半个算出来的值;如果除不尽,得到一个时间剩余值,记下来。
在仲春(农历二月)前半个月,用这个剩余值减去计算结果作为差率;后半个月,日期往前提半个时辰,用时法加上剩余值,用这个剩余值作为差率。在季春(农历三月)前半个月,用时法加上剩余值作为差率;后半个月,日期往前提半个时辰,用时法加上剩余值,再用时法乘以2加上剩余值,作为差率。在孟春(农历正月)前半个月,用时法乘以3,再减去剩余值,余数作为差率;后半个月,日期往前提半个时辰,用时法加上剩余值,再用时法加上剩余值,然后用时法乘以3再减去剩余值,作为差率。
然后,确定交点时间,如果小于3时,加3;小于6时,加2;小于9时,加1;大于等于9时,按实际数值;大于等于12时,按12计算。(如果在季春后半月到孟春前半月之间,交点时间大于等于6时,都按6计算;小于6时,按实际数值,不加。)所有这些都乘以差率,再除以14,得到时间差。如果在子午(正午)后半段,加上时间剩余值;如果在卯酉(早上和傍晚)后半段,减去时间剩余值;如果加减后超过或不足,就调整时法。(孟春指寅、巳、申时;仲春指午、卯、酉时;季春指辰、未、戌时。)最终得到日蚀的加时。
咱们先来说说月蚀。你看啊,冬至前后交接,都差两个时辰;春天先交接,秋天后交接,差半个时辰;春天后交接,秋天先交接,也差两个时辰;夏天就按规定的来。差得不够的,就记作“既”。然后用三万六千一百八十三作为除数,除以一,再减去十五,剩下的就是月蚀的分数。
朔日(农历初一)与交接点的时间差,如果在内道(黄道和白道交点附近),比如五月初一,时间加在南方,比交接点早十三时辰以上;六月初一,比交接点晚十三时辰以上,那就不会发生月蚀。立春到清明之间,如果比交接点早十三时辰以上,正好是缩,时间加在未(星座)的西边;处暑到寒露之间,如果比交接点晚十三时辰以上,正好是盈,时间加在巳(星座)的东边,这些情况都不会发生月蚀。如果交接点在外道,前后时间差在一个时辰以内,都会发生月蚀。要是差两个时辰以内,或者先交接时正好是盈,后交接时正好是缩,差两个时辰以外,也会发生月蚀。夏天,如果时间差在两个时辰以内,时间加在南方,也会发生月蚀。如果时间差在十二个时辰以内,与交接点的时间差在六个时辰以内,也会发生月蚀。如果在春分的三天以内,比交接点晚两个时辰;在秋分的三天以内,比交接点早两个时辰以内,也会发生月蚀。如果在交接点三个时辰以内有星伏(行星遮挡),土星、木星距离交接点十天以外,火星距离交接点四十天以外,金星晨伏(金星在早晨出现)距离交接点二十二日以外,只要有一颗星,就不会发生月蚀。分别列出与交接点的时间差。秋分之后,到立春之前,都要减去二十二万八百分。立春第一天到芒种,每天减少一千八百一十分。夏至之后,到白露之前,每天增加二千四百分。用这些数值减去与交接点的时间差,剩下的就是不会发生月蚀的分数。如果不够减,就反过来相减,得到不会发生月蚀的分数。也用这个方法来确定望差(月亮与太阳的角距离)。后交接点值缩的,直接用望差来确定。对于不会发生月蚀的分数,大寒到立春之间,后交接点在五个时辰以外,都差一个时辰。时差值减的,先交接点减去,后交接点加上;时差值加的,先交接点加上,后交接点减去。不够减的,都记作“既”。乘以十五,用定法除以一,再减去十五,剩下的就是日蚀的分数。
最后,咱们来说说日蚀和月蚀的计算。日、月蚀分数在四以下的,就加二;五以下的,就加三;六以上的,就加五;这些都是刻率,作为辅助数值。乘以历法损益率,用四千零五十七作为除数除以一。值盈,就反过来计算损益;值缩,就按照损益来算。都对辅助数值进行损益计算,得到最终使用的刻数。然后乘以六,再除以十,减去蚀甚(日食或月食最严重)辰刻,得到亏初(日食或月食开始的时间)。再乘以四,除以十,加上食甚辰刻,得到复满(日食或月食结束的时间)。