开元九年,当时用的《麟德历》预测日食的结果不对,皇帝就下令让僧一行重新制定历法。一行用大衍数的计算方法来推算,跟历史上记载的气候、日期、星宿位置等等能对得上号的都符合。
到了开元十五年,历法草稿写好了,但是一行却去世了。皇帝就特别提升张说和历法官员陈玄景等人,让他们把历法整理成七篇《历术》、一篇《略例》和十篇《历议》。玄宗皇帝如果遇到有人来询问,就说是他下的旨意。
第二年,张说把历法上交给皇帝,到了开元十七年正式颁布给各部门执行。当时有个很擅长计算的瞿昙悉达,因为没参与改历法的事,心里很不服气,在开元二十一年,他和陈玄景一起上奏说:“《大衍历》是根据《九执历》改编的,它的计算方法还不够完善。”太子右司御率南宫说也反对这个历法。皇帝就下令让侍御史李麟和太史令桓执圭,用灵台的观测记录来进行比较,《大衍历》的准确率能达到七到八成,《麟德历》只有三到四成,《九执历》只有一到两成。最后,皇帝治了南宫说等人的罪,但是还是决定采用《大衍历》。
从《太初历》到《麟德历》,历法一共改了二十三版,虽然越来越接近实际情况,但还是不够精准。到了僧一行,才真正精准了,他建立历法的数学方法,后人难以超越。后世虽然有人修改过历法,但都只是在他基础上进行修改完善,所以详细记载一下他的事迹。《略例》是用来解释制定历法的基本原则的;《历议》是用来分析古代和现代历法得失的。他的这些论述,都足以给后世提供借鉴。他主要的作品有十二篇。
第一篇是《历本议》,原文是:
《易》里说:“天数是五,地数是五,五个数字互相配合,各有其规律,所以才能产生变化,并以此来推算鬼神之事。” 你看啊,天数从一开始,地数从二开始,合起来就是二,这代表着刚柔的开始。天数到九结束,地数到十结束,合起来就是二,这代表着记录闰余的结束。天数的中间数是五,地数的中间数是六,合起来就是二,这代表着推算历法的规律。天上有五音,所以能用来记日;地有六律,所以能用来记时。三和五互相周而复始,最终得到六十,圣人就是通过这个来了解天地运行的规律的。
从五开始往下,就是五行生数;从六开始往上,就是五材成数。把它们交叉相乘,用生数推演成位数。一和六是退到极致,五和十是增到极致;一和六是爻位的总和,五和十是大衍的本源。成数乘以生数,结果是六百,这是天数的积累;生数乘以成数,结果也是六百,这是地数的积累。合起来是一千二百,用五十去除,就是四象周而复始的六爻;用二十四去除,就是太极包含四十九个用途。总结成数,约简中间的积数,都是十五;总结生数,约简中间的积数,都是四十。把它们加起来就是天地之数,用五位数来推算,又回到了二的结合。
蓍草占卜的数字变化,九和六各出现一次,这是乾坤的象征;七和八各出现三次,这是六子的象征。所以爻数通达六十,策数运行到二百四十。所以说大衍是天地运行的枢纽,像环一样没有尽头,它是历法的大规律。
话说啊,数字的微妙之处体现在三和四,而它的完整性则体现在七和八。八卦有三个微妙之处,筮草有四象,所以两个微妙之数的结合,就在开始和中间这个阶段。蓍草用七根来占卜,八卦用八个方位来表示,所以两个完整之数的结合,就在中间和结束这个阶段。中间的极点位于五六之间,由于阴阳的交替,而处于完整和微妙之数交汇的地方,这就是人神合一的境界。天地间的总数是一千二百,用四去除,得到爻的总数是三百;用十位数乘以三百,则两个完整之数的积是三千;用五行乘以八卦,得到两个微妙之数的积是四十。把完整和微妙之数的积加起来,就是气朔的分母。用三极来参验,再用六位数去除,一共是七百六十,这叫做辰法,与时代的轨迹相符。用十位数乘以七百六十,再用大衍数去除,一共是三百四,这叫做刻法,与德运相符。气朔分母的一半,是一千五百二十,这是天地交合的数目,再乘以三,一共是四千五百六十,这是七曜回归本位的时刻。《易经》开始于三个微妙之数而产生一个象,四个象组合之后就形成了八卦的完整形态。三次变化都是阳刚的,是太阳的象征;三次变化都是阴柔的,是太阴的象征;一次阳刚两次阴柔,是少阳的象征;一次阴柔两次阳刚,是少阴的象征。少阳的阳刚之气,有开始、有壮盛、有终结;少阴的阴柔之气,也有开始、有壮盛、有终结。把三才结合起来再加倍,神明就在其中运行。所以有四十九个卦象,而大业的运用就周全了。数的德性是圆的,所以用三来记数,而变化到七;象的德性是方的,所以用四来记数,而变化到八。
人处于天地之间,观察盈虚的变化,那就明白了闰余的开始,以及气朔的虚实。最终结合大衍的母数,减少地数的十,一共是九百四十,作为通数。用通数去除,得到中率是四十九,余十九分之九,这是终年的弦,也是斗宿回归本位的时刻。地数在最终的时刻,减少十而顺从天数,所以远离了疑似阳之战。十九分之九,是盈九而虚十。乾卦盈九,隐藏在龙战之中,所以看不见它的首尾;坤卦虚十,引导潜龙之气,所以看不见它的完成。周日的天数,周年的闰数,以及一个完整之数的弦,一个蔀的月份,都符合九百四十这个数,都是取自中率。
第一段:
咱们算一下啊,一根蓍草分成十九份,就能得到章法;分成七十六份,就能得到蔀法。一个蔀有多少天呢?是两万七千七百五十七天。简单算一下,大概二十九天多四百九十九天,这时候日月就交汇在朔日了,这就是六爻的纪年法。用卦来对应年份,用爻来对应月份,用蓍草来对应日期。这样算下来,三十二年就是一个小的周期,二百八十五个小周期就和卦运的大周期对应上了。二百八十五,正好是三和五这两个数字的周期组合。数字和现象都对应上了,然后遁行的变化就包含在其中了。
第二段:
什么叫遁行呢?就是用爻的个数乘以朔日的剩余天数,得到十四万九千七百。用四十九个蓍草的总数减去二十四象的虚数,再用爻的个数去除,得到四百九十八,还余下七十五天多一点,这就是章微中的比率。二十四象,每个象对应四十九个蓍草,一共是一千一百七十六个。所以虚遁的数是七十三,是半气朔的本源。用三极乘以三和五,用两仪乘以二十四变,把它们加起来,得到一千六百一十三,这是朔日的剩余。四次揲占得到半气朔的本源,用八气九精减去十七,得到七百四十三,这是气的剩余。八万九千七百七十三年的时间,气和朔就相遇了,这叫做章率。两亿七千二百九十万九百二十年,没有剩余了,正好合在夜半,这叫做蔀率。一百六十三亿七千四百五十九万五千二百年的时间,大周期剩余和岁建一起结束,这叫做元率。这就是不易之道啊!
第三段:
用蓍草来记日,用卦象来记月。所以乾坤的蓍草总数是三百六十,这是日度的标准;乾坤一共用四十九个卦象,这是月弦的检验标准。一天的度数,不够完整的蓍草数;一个月的弦,不够完整的卦象数。所以蓍草剩余一万五千九百四十三,这是十二个中气盈余的数;卦象差一万七千一百二十四,这是十二个朔日亏损的数。综合盈余和亏损的数,五年就需要闰两次。中气之间的距离,都是三或五的倍数;弦望之间的距离,都是二或七的倍数。升降的对应,开合的时刻,都是用蓍草来记录,并跟随日期的。表里运行,开合变化,都是用卦象来记录,并跟随月份的。
咱们先来说说古代计算时间的那些事儿。 “积算”就是累积计算,“演纪”就是推演纪年;“日法”是计算日子的方法,也叫“通法”;“月气”指的是月亮的运行规律,具体来说就是“中朔”(月亮运行到中气朔望),而“朔实”就是用“揲法”(一种用算筹计算的方法)来确定朔日;“岁分”是划分一年四季,“策实”是根据节气来确定日期;“周天”指的是一年三百六十五又四分之一天的周天运行,而“乾实”指的是周天运行的实际情况,“余分”就是多出来的零头。
“气策”指的是用三元来推算节气,“一元之策”指的是天一遁行(一种推算方法);“月策”指的是用四象来推算月亮的运行,“一象之策”指的是朔、弦、望(月亮的三个主要阶段)之间的距离。 “五行用事”指的是五行(金木水火土)的运行规律,“发敛”指的是五行运行的盛衰变化;“候策”指的是根据天象来推算节气,“天中”指的是天象的中心;“卦策”指的是用八卦来推算,“地中”指的是地象的中心,“半卦”指的是卦象的一半,也就是“贞悔”(占卜吉凶)。“旬周”指的是十天为一周,“爻数”指的是八卦的爻数;“小分母”指的是小的分数单位,“象统”指的是用象数来统筹计算。
“日行”指的是太阳的运行,“躔”指的是太阳运行的轨迹,“盈缩”指的是太阳运行速度的快慢变化,“积盈缩”指的是累积的盈缩情况,从而导致日期的“先后”变化。古代确定朔日的方法是“平朔”(平均朔日),月亮早晨出现叫“朒”,晚上出现叫“朓”。现在我们根据太阳运行的盈缩和月亮运行的快慢来调整朔日,或者提前或推后日期来确定朔日。月亮运行的快慢,都是由数字推算出来的,太阳和月亮运行的轨迹错综复杂,相互影响,所以都用“朓朒”来统称。
“月行”指的是月亮的运行,“离”指的是月亮的运行轨迹,“迟疾”指的是月亮运行速度的快慢,“转度”指的是月亮运行速度的变化,“母”指的是推算月亮运行速度的方法。月亮运行速度的快慢会发生变化,这种变化是客观规律。“月逶迤驯屈,行不中道,进退迟速,不率其常”,意思是月亮运行轨迹弯弯曲曲,不走直线,速度时快时慢,没有规律可循。运行速度超过平均值就快,低于平均值就慢。累积的慢就叫“屈”,累积的快就叫“伸”。太阳掌握着时间的运行,所以叫“先后”;月亮则顺应着太阳的运行,所以叫“屈伸”。太阳运行速度慢就减少,快就增加;月亮运行速度慢就增加,快就减少,这体现了阴阳的运行规律,但最终都趋向于平均值。观察日影的进退,就能了解太阳运行轨迹的升降。“轨”和“晷”(日影)名称不同但含义相通,它们之间的差异就是漏刻(古代计时工具)所依据的。总称之为“轨漏”。日影的长短变化叫“陟降”。日影长则夜晚短,日影短则夜晚长。累积的陟降变化就叫“消息”。
“游交”指的是日月交会,“交而周”指的是日月运行一周,“交终不及朔”指的是日月交会结束时没有达到朔日,这叫“朔差”;“交中不及望”指的是日月交会到中间时没有达到望日,这叫“望差”。“日道表”指的是阳历,“其里”指的是阴历。“五星见伏周”指的是五星(金木水火土)的运行规律,“终率”指的是五星运行的最终规律。“以分从日”指的是用分数来计算日期,“终日”指的是最终的日期,“其差”指的是日期的差异,也就是日期的进退。
接下来是《中气议》的内容:
这段文字主要讲的是古代历法,特别是冬至和历法计算的差异。
首先,它解释了历法中“气”的起始时间是冬至,并引经据典地说明了这一点,是从日影的长度推算出来的。《春秋传》僖公五年正月辛亥朔,日南至。 这说明了在《春秋传》记载中,冬至的日期。 然后,文章开始比较《周历》和《殷历》对冬至和朔日的计算差异,以及它们与《春秋传》和《天文志》等典籍的出入。比如昭公二十年二月己丑朔,日南至,鲁史记错了,冬至不在正月。 这说明了不同历法对冬至日期的差异,以及由此产生的错误。 文章还提到了《殷历》中冬至在十月晦,而《周历》则有差异,这都与当时的观测结果有关。
接着,文章分析了《戊寅历》和《麟德历》对历法的选择,认为它们都因为偏向一方而导致错误。 《命历序》认为孔子修《春秋》用的是《殷历》,但是文章指出,这与实际观测结果不符,并且随着时间的推移,误差越来越大,所以这说法不可靠。 汉朝时期的张寿王也提出过自己的历法,但遭到了质疑,因为他的历法与官方的历法不符。 汉朝中兴以后,一些带有预言性质的书中也提到了甲寅元,但这些说法都源于《四分历》,并非古代的历法。
最后,文章又提到了《纬书》中记载的壬子冬至,以及《鲁历》与《周历》在冬至和朔日计算上的差异。 《鲁历》的冬至比《周历》早一点,朔日也稍有不同,这解释了为什么僖公五年辛亥是十二月晦,壬子是正月朔。 文章还提到《鲁历》与《殷历》在日食计算上的吻合,以及它将闰余一作为章首的原因,是为了与当时的实际情况相符。 总而言之,这段文字详细探讨了古代不同历法对冬至和朔日的计算方法及其差异,并分析了这些差异的原因和影响。
开元十二年十一月,咱们在阳城测了日影长度,发现癸未年的冬至日影最长。跟前后比对一下,发现半夜之前日影还有多余的部分。新历比旧历多出十九天,加了九十九刻的时间,但是《皇极历》、《戊寅历》、《麟德历》都算出来是甲申年,而用《玄始历》的算法,以2443为气分来推算,结果和《春秋》记载的辛亥年对不上,说明减的分太多了。
要是用《皇极历》的算法,以2445为气分来推算,虽然和《春秋》对上了,但是和元嘉十九年乙巳年的冬至、开皇五年甲戌年的冬至、开皇七年癸未年的夏至都对不上。如果用《麟德历》的算法,以2447为气分,又和《春秋》记载的己丑年对不上,说明减的分太少了。所以,新历就用2444作为气分,这样旧历那些对不上的地方都正好对了。
汉朝的会稽东部尉刘洪觉得《四分历》太粗糙了,因为斗分(一天的度数)太多了。他就用589作为纪法(一年天数),145作为斗分,结果减得太多了,不到四十年,加时就发现跟实际情况对不上了。后来韩翊、杨伟、刘智这些人,都对刘洪的算法稍作修改,创造了新的历法,但他们都遵循了谶纬书上“三百岁改宪”的说法,考证《经》书里合朔(朔日)的记录大多是对的,但跟《传》书里南至的记录比对就不对了。《玄始历》认为十九年有七个闰月,但总是有多余的部分,所以中气(二十四节气中的其中一个)就越来越差。根据浑天说,二分点(春分、秋分)是东西方向的中间点,但日影长度却不一样;二至点(冬至、夏至)是南北方向的极点,但日影的进退也不均匀。这些都是古人没搞明白的地方。
后来又根据刘洪的算法,增加了十一年作为章岁(一个周期),减少了十九分之一的闰余。春秋时期之后五十四年,是甲寅年,正好是钟章(一个周期)的开始,跟《景初历》的闰余都用完了。虽然减少了章闰,但是中气加时还是有偏差,所以跟《春秋》的记录还是对不上。不过它的斗分已经比较准确了。
咱们家祖祖辈辈都用着《玄始历》,只是在它基础上改改补补,结果有时反而弄巧成拙了。一般来说,古代历法都没减少斗分,计算的日数都在2500天以上。《乾象历》到《元嘉历》,也没减少闰余,日数都在2460天以上。《玄始历》、《大明历》到《麟德历》,都减少了分和章,日数都在2429天以上。对比前朝史官的记录,就拿元嘉十三年十一月甲戌日景长来说,《皇极历》、《麟德历》、《开元历》都算成了癸酉日,这说明日行度一直在变化。祖冲之算错了甲戌日的冬至,觉得加时太早了,就稍微加一点儿来凑数。结果,十二年戊辰日景长算成了己巳;十七年甲午日景长算成了乙未;十八年己亥日景长算成了庚子。一共算三次,三次都错了,而且错得越来越离谱。刘孝孙、张胄玄也跟着错,越改越离谱,还把十六年己丑日景长算成了庚寅。搞历法的那些人,把大家的算法都凑到一起,看看哪里不一样,只要不一样,就说明算错了。现在呢,只取其中一种,少的错三次,多的错五次,这根本就是放弃了正常的算法,只跟着错误的算法走了。周建德六年,壬辰日景长,《麟德历》和《开元历》都算成了癸巳。开皇七年,癸未日景短,《麟德历》和《开元历》都算成了壬午。前后算出来的结果不一样,根本对不上,都是因为日行速度忽快忽慢造成的。
历法计算的关键在于固定的常数,而不是变化的行度。只要计算的日数符合平均值,就能协调前后变化的日行度。《麟德历》以前的历法,史书上记载的都是当时用的历法,而不是根据实际观测的结果。而且,历年观测的结果,长短也不一致,这是因为加时有时早有时晚,日行度有时快有时慢造成的。
从春秋时期到开元十二年,冬至和夏至一共观测了31次,《戊寅历》算对了16次,《麟德历》算对了23次,《开元历》算对了24次。
再说说这《合朔议》里的内容:
日月合度叫做朔。朔日怎么确定呢?要根据日食来确定。《春秋》记载的日食,甲乙日都有,一共34次。《殷历》、《鲁历》中,有13次提前一天,有3次推迟一天;《周历》中,有22次提前一天,有9次提前两天。这说明这些历法有多不靠谱啊!
鲁庄公三十年九月庚午朔,襄公二十一年九月庚戌朔,定公五年三月辛亥朔,这些日子,得根据实际情况,来调整一下日期,才能确定准确的朔日。《殷历》虽然也记录了这些日子,但只是碰巧对上了,并非真的准确。
僖公五年正月辛亥朔,十二月丙子朔,十四年三月己丑朔;文公元年五月辛酉朔,十一年三月甲申晦;襄公十九年五月壬辰晦;昭公元年十二月甲辰朔,二十年二月己丑朔,二十三年正月壬寅朔、七月戊辰晦:这些日子都跟《周历》对得上。这些记载里大多是周、齐、晋发生的事情,估计是周天子颁布的历法,齐、晋两国沿用的。
僖公十五年九月己卯晦,十六年正月戊申朔;成公十六年六月甲午晦;襄公十八年十月丙寅晦,十一月丁卯朔,二十六年三月甲寅朔,二十七年六月丁未朔:这些日子跟《殷历》和《鲁历》都对得上。这些日子并非日食发生的日子,所以孔子就根据当时的史书来记载,这些记载里大多是宋、鲁两国的事情,跟齐、晋记载的不同,由此可见一斑。
昭公十二年十月壬申朔,原舆人追杀原伯,这天跟《鲁历》和《周历》都差了一天,这是丘明根据他听到的传闻记录下来的。僖公二十二年十一月己巳朔,宋、楚两国在泓水交战。《周历》、《殷历》、《鲁历》都比实际日期早了一天,这是因为楚国人赶路的原因。昭公二十年六月丁巳晦,卫侯跟北宫喜结盟;七月戊午朔,又跟国人结盟。这三个历法都比实际日期早了两天,这是因为卫国人赶路的原因。所以说,各国的历法不能用一种方法来统一。
而《长历》里的日子跟月份对不上,所以就修改闰余,想让它跟其他历法对上。所以闰月的时间间隔,短的十多个月,长的七十多个月,杜预的做法太荒谬了! 要确定朔日是否准确,得参考《经》书里关于日食的记载来校正。要确定中气是否准确,得参考《传》书里关于南至的记载来解释。至于晦日和朔日相差一两天的情况,就得根据确定朔日的原则来推算。各国的历法可能不一样,就得参考六家历法的算法来弄清楚。这四点,都是治历的大事,杜预都没搞明白啊!
这段话讲的是古代历法计算的问题,特别是关于朔日(农历初一)、望日(农历十五)和日食的推算。
首先,作者说古代的《春秋》记载了日食,结合其他的史料,可以推算出历法的规律。通过观察太阳和月亮的运行规律,以及它们之间的相对位置变化,来制定历法。如果只考虑朔日,而忽略太阳和月亮的具体位置,或者反过来,只考虑太阳和月亮的位置,而忽略朔日,那么历法就会出现偏差,历代的历法都会有误差。只有把这三者结合起来,就像权衡一样互相制约,才能保证几百年来朔日都在白天,望日都在晚上,并且时间也准确无误。这才是最细微,最关键的地方。至于一些更深层次的天文变化,即使是圣人也很难完全把握,更别说用历法来计算了。
接下来,作者讲到古代很多人研究天象,却无法准确确定朔日。如果日食发生在初二,那么在朔日早晨,月亮就会出现在东方;如果日食发生在月末,那么在朔日晚上,月亮就会出现在西方。这是符合天理的。但是,有些人认为这是因为月亮运行不规律,或者是因为历法粗糙,所以就在朔日早晨看到月亮就增加朔日的剩余时间,晚上看到月亮就减少朔日的剩余时间,这就导致历法不断修改。汉代的张衡和李梵等人,因为月末还能看到月亮,就想把一个周期(蔀)的起始时间提前。贾逵对此提出了反对意见,他认为《春秋》记载的朔日和月末,一定是确定的,不可能出现一个月有两个朔日或者一个月没有朔日的情况。张衡和李梵只是为了让十六日、月球运行的规律、月末月亮消失的时间等看起来更协调而已。而且,月末和朔日同时发生,不可能是不同的日子。贾逵的观点说明他很了解这些问题。朔日和月末是相邻的,光线消失和光线出现的时间界限,数值应该相等。所以,如果朔日和月末同时发生在子时(午夜),那么月末早晨就像朔日晚上一样,月亮都看不见;如果朔日和月末同时发生在午时(正午),那么月末早晨就像初二晚上一样,月亮可能都看得到。由于阴阳变化的快慢,以及计时工具的误差不同,如果月亮在离太阳13度以上就能看到,那就是正常的现象。而且,月末月亮的光还没有完全消失,就像初二太阳的光已经出现一样。对这些现象,有人认为对,有人认为错。至于朔日的前后变化,确定朔日的月末,到底是初二还是初三,也有人认为是变化的,有人认为是固定的。这说明他们没有理解四三交质的理论。
咱们翻翻近代的历法,动不动就以百万为单位来计算,结果算出来的结果,少的时候差个零点几,多的时候能差到十几分之一。你看《春秋》的历法,才差一刻钟,几百年下来也没什么大不了的差异。可是一旦开始推行新的历法,没多久又变得粗糙不准了,原因就是他们根本不知道怎么根据星象推算出准确的朔日(农历初一)。李业兴、甄鸾这些人想用天文观测来验证历法,就不断地增减月份,改来改去,结果历法越来越乱,还是因为他们搞不清楚日出日落的时间和确定朔日的规律。杨伟参考了《乾象历》,弄了个阴阳历,虽然知道日食不只发生在朔日,但也没能找到更好的方法来改进。
何承天想用月球盈亏来确定朔望日,但有个叫钱乐之的提出了反对意见:“虽然你算交会时刻很精确,但月球的运行周期有大有小,日食也不一定只发生在朔日,也可能发生在晦日(农历三十)。”皮延宗也说:“计算的起始点应该和朔日完全吻合,月球盈亏的余量应该全部算进去。如果每个月都固定下来,那么起始点就会出现盈余,应该往后退一天,用上一年最后一天作为新一年的第一天。这样立法太麻烦了!”何承天听了他们的意见,就放弃了这个想法。虞广则说:“朔日是在日月交会的时候确定的,只要日月运行的轨迹相同,那月球运行周期有大有小又有什么关系呢?日月相离的距离远近,又有什么关系呢?”《春秋》记载日食,有八次没写明是朔日,《公羊传》说是“二日”(初二),《谷梁传》说是“晦日”(三十),《左传》说是“官吏记错了”。刘孝孙推算后认为丘明的说法是对的,他和刘焯都制定了新的历法来确定朔日,却被当权者压制,没能推行。傅仁均也尝试过制定历法来确定朔日,他说“晦日(三十)晚上看不见月亮,朔日(初一)晚上看不见月亮”,认为昏黑的时候月亮应该消失,这和印度的某些说法类似。
淳风沿用了《皇极历》的算法,《皇极历》比《麟德历》精确,他用朔日余数乘以340,再除以一万,得到整数1613。然后又用940乘以这个余数,再除以340,得到498.75,这就是《四分历》的余率。
刘洪啊,他觉得古代的斗分法太复杂,时间长了跟实际情况偏差太大,所以他先纠正了斗分法,然后再算朔日,结果朔余的计算就变得特别麻烦。韩翊呢,他觉得《乾象》里的朔分法太简单了,时间长了也跟实际情况对不上,所以他先算了朔日,然后再反过来推算度数,结果度余的计算也变得特别麻烦。何承天来回折腾,想让气朔的计算方法简单点,结果星数就对不上了。李业兴、宋景业、甄鸾、张宾他们想让六甲的各种算法结果都一样,结果气朔的余数就细化到极点了。 《麟德历》有个总的计算方法,《开元历》有个通用的计算方法,所以经过很多年后,月分和闰余的计算结果都能吻合。
汉元光年以后,史官记载的日食加时的情况,一共发生过37次;《麟德历》算出来有5次,《开元历》算出来有22次。
接下来是《没灭略例》里说的:古时候,把中气盈满的那天算作“没”,没分和盈满的分数都用完就算“灭”;《开元历》里,把中分盈满算作“没”,朔分不足算作“灭”。把一年里“没”的分数加起来叫策余,把一年里“灭”的分数加起来叫用差。这些计算方法最后都要通过反复推算才能得出结果。
然后是《卦候议》里说的:七十二候的算法,最早来源于周公的《时训》。《月令》虽然增加了一些内容,但是前后顺序还是一样的。魏朝以后,历法里才开始记载七十二候,但是是按照《易轨》里传下来的方法,跟经义对不上。现在我们改回古代的算法。
最后是《卦议》里说的:(此处内容未提供,无法翻译)
《孟氏章句》里说十二月卦的来历,认为《易经》的基础是阴阳之气,然后用人事来解释它。京氏的学说呢,是把八卦的卦爻和每年的日子对应起来,像坎、离、震、兑这些卦,它们掌管的日子,从开始到结束,加起来占全年八十分日中的七十三天。而颐、晋、井、大畜这几个卦,每个卦管五天十四分之一,其他的卦则管六天七分之一,主要用来占卜灾害和吉凶祸福。但是,要根据它来观察阴阳变化,那就乱七八糟,看不明白了。
从《乾象历》开始,一直到后来,都沿用了京氏的这种方法。只有《天保历》是根据《易通统轨图》来制定的。它从进入十二节气、五个卦、初爻开始,依次推算每个卦掌管的日子,等到上爻结束时,也正好是中气结束的时候。这和京氏的本意,以及《七略》里记载的都不一样。按照郎顗的说法,每个卦都管六天七分之一,而且不按初爻依次推算掌管的日子,所以齐历的做法是错误的。再者,京氏为了配合四正的节气,还减去了七十三分之几,这种说法根本站不住脚,他只是为了附会《纬书》里“七日来复”的说法罢了。
阳气消退,静悄悄的,没什么迹象,但它遵循着一定的规律,到第七天就通了。七,是阳气的正数,为什么非要等到七天后,地底下才打雷呢?按照孟子的说法,从冬至开始,中孚卦当令,一个月有三十天,九六、七八,合起来就是三十。而八卦以地六为数,二十八宿以天五为数,五六相乘,阴阳变化一次,十二次变化后,一年就又回到了开始。坎、震、离、兑,二十四节气,每个节气对应一爻,最开始就是二至、二分。坎卦是阴包阳,所以从北正开始,微弱的阳气从下往上走,还没到达顶点,到二月就到了极点,凝结的水气消散了,坎卦的运行就结束了。春分开始是震卦,万物开始生长,震卦主内,阴气转化,跟随震卦,到南正达到极点,震卦的功效就完成了。离卦是阳包阴,所以从南正开始,微弱的阴气在地下生长,积累但还没成形,到八月就到了极点,光明之气衰弱,离卦的运行就结束了。仲秋阴气显现于兑卦,万物开始走向衰落,兑卦主内,阳气下降,跟随兑卦,到北正达到极点,天泽的恩惠也结束了,兑卦的功效就完成了。所以,阳七的静止始于坎卦,阳九的活动始于震卦,阴八的静止始于离卦,阴六的活动始于兑卦。所以,四象的变化都包含六爻,中间节气的对应也齐全了。《易经》的爻对应着日子,十二个中爻对应着整个卦的开始;十二个节气对应着整个卦的中间。齐历认为节气对应贞卦,气对应悔卦,这是不对的。
接下来是《日度议》里说的:
古代历法,认为太阳每天运行的度数是固定的,天一周而岁终,所以把星宿的度数和节气联系起来。这种说法似是而非,所以时间一长就越来越不准了。虞喜发现了这个问题,把天和年分开计算,设立差数来追溯变化,每五十年退一度。何承天认为这样退得太多,就把年数翻倍,结果又不够。皇极历法取两者中间值,定为七十五年,这比较接近实际情况。考古史籍和日官的观测记录,用通法计算,三十九分之一太为一年之差。从尧帝开始推算,差了一度。到现在开元甲子年,已经差了三十六度,乾策又回到了起点。太阳在虚宿一度,那么鸟、火、昴、虚这些星宿都在仲冬黄昏的时候出现在正南方,这和《尧典》的记载相符。
刘炫依在他的《大明历》里说,如果每四十五年差一度,那么冬至就在虚宿、危宿,而夏至的时候太阳已经过了中气。梁武帝根据虞喜的历法,一百八十六年差一度,那么唐尧虞舜时代,太阳应该在斗宿、牛宿之间,而冬至时昴宿还没到正中。他认为这些都是因为闰月安排在节气前后造成的差异,其实月亮的运行才是根本原因。但是,一年之中始终只有一次运行,不可能突然出现四个闰月,所以淳风就对此解释说:“如果冬至时昴宿在正中,那么夏至和秋分时,星宿火宿、虚宿都在未宿的西边。如果以夏至时火宿在正中,秋分时虚宿在正中来计算,那么冬至时昴宿就在巳宿的东边。两者之间总是互相盈亏,不足以作为岁差的证据。”但这也不对。现在我们用四象来划分天空,北方正中的玄枵宿,虚宿九度;东方正中的大火宿,房宿二度;南方正中的鹑火宿,七星七度;西方正中的大梁宿,昴宿七度。我们用昼夜的刻度来推算周天,确定各星宿的距离和中心位置,那么春分时南方正中星宿在中天,秋分时北方正中星宿在中天。冬至的黄昏,西方正中星宿在正午的东边十八度;夏至的黄昏,东方正中星宿在正午的西边十八度:这是由于浑仪和漏刻的测量结果。
冬至时,太阳在虚宿一度,那么春分时昏时的张宿一度在正中;秋分时虚宿九度在正中;冬至时胃宿二度在正中,昴宿距离正午的东方十二度;夏至时尾宿十一度在正中,心宿后星距离正午的西方十二度。四季的运行进退,不会超过正午的范围。而淳风认为这说不通,这是不对的。王孝通也说:“如果岁差是从昴宿到壁宿,那么尧帝之前的七千多年,冬至时太阳应该在东井宿。东井宿在北极附近,所以天气炎热;斗宿在南极附近,所以天气寒冷。寒暑颠倒,这肯定是不对的。”所谓的岁差,是指太阳和黄道一起偏移。假设冬至时太阳在火宿正中,那么春分时黄道与赤道交点在虚宿九度,而南至的运行轨迹会超出房宿、心宿,距离赤道也有二十四度。如果在东井宿,偏差也是一样的。如果太阳在东井宿,它离北极最近,日影最短,那么四季的分至点就永远在那个位置。黄道不移动,太阳运行也不后退,又怎么能说是岁差呢?
孝通和淳风认为冬至时太阳在斗宿十三度,黄昏时东壁宿在正中,昴宿在巽维的左边,向着明亮的地方,并不是没有星宿。水星在黄昏时正可以作为仲冬的标志,何必非要引用昴宿在初次出现的时候,来迷惑百姓呢?
夏朝从夏后氏开始,到太康十二年,已经过了四百三十二年,太阳的位置偏离了五度。太康十二年,也就是戊子年(公元前2055年)的冬至,太阳应该在女宿(二十八宿之一)的十一度位置。
《尚书》里说:“到了季秋的朔日(初一),星宿没有在房宿(二十八宿之一)汇聚。”刘炫解释说:“房,指的是星宿停留的位置;集,就是汇聚,也就是相合。如果星宿不相合,就能知道要发生日蚀了。有人把‘房’理解为房星,我认为不对。因为太阳的位置是可以推算出来的。君子应该谨慎怀疑,我们难道要用太阳所在的星宿来解释日蚀吗?近代精通历法的人推算,仲康时期九月初一,太阳已经在房星的北边了。” 顺便说一句,古文里“集”和“辑”的意思相同。日月交会,阴阳和谐,那么太阳就能正常运行,光芒四射,月亮也能隐藏身形,展现其阴柔之美。如果阴阳发生冲突,就会不和谐了。“房”是星宿停留的位置,“房星”是位置的名称,它们的含义是一致的。 另外,《春秋传》里说“辰在斗柄”、“天策焞焞”、“降娄之初”、“辰尾之末”,这些都是君子们说的,没人觉得有什么错误,为什么偏偏要对“房星”疑虑重重呢?
根据新的历法推算,仲康五年癸巳年(公元前2070年)九月庚戌朔(初一),确实发生了日蚀,而且太阳在房宿的二度位置。刘炫根据《五子之歌》推断,仲康是五帝之一,他继承了禹的帝位,统一天下,重新推行大禹的典章制度。在他即位五年的時候,羲和(掌管天文历法的官员)失职,所以才导致了征伐。虞广认为仲康元年是错误的,这说法不对。
话说《国语》里单子说啊,看到辰星的角,雨就停了;看到天根星,水就干了;看到本星,草木就长出节了;看到驷星,霜就下了;看到火星,就刮清风,天气变冷了。韦昭觉得这是夏后氏定的规矩,周朝人沿用下来的。他推算夏后氏刚开始的时候,秋分后五天,太阳在房宿十三度,龙角星全部露出来,这时候雨应该就停了。再往前推,寒露前三天,天根星在早晨出现,《时训》里说“开始收水”,《月令》也说“水涸”。寒露后十天,太阳在尾宿八度,本星就出现了,再过五天驷星就出现了,所以霜降了,地里的虫子就躲起来了。
郑康成根据他当时看到的,说天根星早晨出现,是在季秋末,认为《月令》的说法不对。韦昭认为仲秋水才开始干涸,天根星出现才算水干了。这两种说法都不对。霜降后六天,太阳在尾宿末,火星刚开始出现,营室星在傍晚的时候在天空中,这时候才开始修城墙、宫殿。所以《时儆》里说:“营室星出现的时候,土木工程才开始。火星刚出现的时候,是主管人事的时候。”《麟德历》里说,霜降后五天,火星就隐伏了;小雪后十天,早晨才能看到火星;等到大雪之后,火星才在定星附近,太阳也快到南至点了,冰都冻实了,地都裂开了。这也不是土木工程开始的时候啊。
《夏历》里把一年分成十二次,立春的时候,太阳在东壁星的三度,这跟《太初历》里说的东壁星一度的位置不太一样。
话说,《颛顼历》记载,上元是甲寅年正月甲寅日清晨,刚好处在朔日(农历初一)和立春这一天,七曜(日月五星)都正好位于艮维(八卦方位)之首。这《颛顼历》啊,其实是重黎当年受颛顼帝委任,负责制定历法,后来九黎作乱,导致这历法失传了。直到尧帝重新启用重黎的后代,让他们掌管天地四时,一直沿用到虞夏时期。所以这历法就叫《颛顼历》,其实说白了是《夏历》。
后来商汤王搞了个《殷历》,把上元改成了十一月甲子日,也就是冬至那一天。周朝沿用了商朝的历法,跟羲和(古代传说中的天文官)时代相比,已经过去上千年了,这日月星辰的运行规律也发生了一些细微的变化,大概差了半个星次。夏朝的历法,一年十二个月的节气都比较准,所以后世一直沿用夏朝的历法。再后来,吕不韦得到了这历法,把它定为秦朝的官方历法,又重新考证了星辰的位置,选择了一个更接近的日期,把上元定为乙卯年正月己巳日,也就是立春那天。 《洪范传》里也记载说:“历法最初是从颛顼上元太始阏蒙摄提格之年开始的,那是毕陬月(农历二月),朔日己巳,立春,七曜都在营室星宿五度的位置。”这跟秦朝的《颛顼历》上元起于乙卯年是一致的。秦朝的《颛顼历》上元是乙卯年,汉朝的《太初历》上元是丁丑年,往前推算,都对不上甲寅年,但通过日月五星的运行规律,还是能推算出上元本来的星宿位置,所以才叫它阏蒙摄提格之年,其实并不是甲寅年。
《夏历》的章蔀(历法周期单位)纪首(开始)都在立春,所以它计算星辰位置、观测斗星的运行以及闰余(闰月)的增减,都是以十二节气为准。而《殷历》、《周历》、《汉历》的章蔀纪首都在冬至,所以它们的命名和推算,都是以中气(节气中间点)为准。这就是它们的不同之处。
《夏小正》这书虽然写得比较简略,而且很多内容都失传了,但它却是上古时期羲和制定历法的遗迹啊。何承天根据《大戴礼记》的说法,又重新使用了夏朝的历法,还把正月甲子夜半合朔雨水定为上元节,这做法既不符合《夏历》,也不符合周朝的历法。所以,近代那些研究《月令》、《小正》的人,他们的研究结果都跟古代的历法对不上号。
《开元历》推算夏朝的立春,太阳在营室星宿的末尾,傍晚时分东井二星正好在正南方。古代的历法以参宿的右肩星作为参照,它应该正好在正南方。所以《小正》里说:“正月初昏,斗杓悬在下。”北斗星的魁星枕在参宿的头部,所以说它在参宿的正中间。到了季春,太阳在昴宿的十一度半,距离参宿的参照星十八度,所以说:“三月,参则伏。”立夏的时候,太阳在井宿的四度,傍晚角宿在正南方。南门右星进入角宿的范围,距离角宿西边五度,左星进入角宿的范围,距离角宿东边六度,所以说:“四月初昏,南门正。昴则见。”五月,太阳在舆鬼一度半。参宿距离太阳运行的轨道最远,用浑天仪测量,参宿刚刚开始出现,它的肩膀和腿还在地平线以下呢。房宿正好在正南方。所以说:“五月,参则见。初昏,大火中。”“八月,参中则曙”,这句话是失传的记载,因为辰星伏藏的时候,参宿才出现,它并不在正南方。“十月初昏,南门见”,这句话也是失传的记载,因为定星在正南方的时候,南门星就应该在地平线以下,而不是在傍晚出现。
商朝六百二十八年的时候,太阳的位置偏差了八度。太甲二年壬午年冬至,太阳应该在女宿的六度。
《国语》里说:“武王打败商朝,那年是鹑火星当令,月亮在天驷星宿,太阳在析木津,辰星在斗柄,星宿在天鼋。”以前的说法是那年是己卯年,推算一下月亮的盈亏变化,那正是文王去世,武王继承王位的那一年。第二年,武王即位,新历正月初一丙辰日,商朝那边是二月,所以《周书》上说:“武王元祀二月丙辰朔,武王访于周公。”《竹书纪年》上写的是:“周朝在庚寅年开始伐商,一共打了十一年。”而《管子》和《家语》则认为是十二年,大概把武王继承王位的那一年也计算进去了。以前的学者认为文王受命于天九年后去世;十年,武王在盟津观兵;十三年,再次伐商。如果从元祀二月丙辰朔开始算,到伐商的时间,中间差的可不是四年。这些说法都不对。
武王十年的夏历十月戊子日,周军才开始出征。根据岁差推算,那时的太阳在箕宿十度的位置,也就是析木津。清晨,月亮在房宿四度。按照《易经》的说法,雷在乾卦上叫大壮,房宿、心宿象征着它。心宿是乾卦的精气,而房宿,是上升的太阳之车。房宿和岁星的运行轨迹互相交错,与灵威仰之神有关,后稷就是受到它的感召而诞生的。《国语》里说:“月亮所在的位置,辰星和马星的运行轨迹,正是我们祖先后稷所经纬之处。”又过了三天,到了周历正月庚寅朔,日月会合在南斗一度。所以说“辰星在斗柄”。壬辰日,辰星傍晚出现,在南斗二十度。第二天,武王从宗周出发前往军营。月亮初一而未见叫做“死魄”,傍晚显现光芒则称为“朏”。“朏”有时是第二天,有时是第三天,《武成》篇里说:“一月壬辰日,月亮是死魄。第二天癸巳日,武王从周都出发,去征伐商朝。”那时辰星和周军一起前进,从建星的末端,经过牵牛、须女,到达颛顼的虚宿。戊午日,军队渡过盟津,辰星就藏在天鼋星宿里了。辰星,是汁光纪之精,用来告祭颛顼,结束水行之运,也是木帝诞生的象征。《国语》里说:“星宿和日月星辰的位置都在北维,是颛顼所建立的,帝喾继承了它。我们周朝出自天鼋;到了析木,有建星、牵牛星,这是我们皇妣太姜的侄子、伯陵的后代逢公所凭借的神灵。”
这一年,岁星刚到鹑火。第二年,周朝开始改朝换代。岁星又逆行,到达鹑首,然后前进到鸟帑,所以它来回运行,周室的兴衰也随之变化。鹑火在轩辕的虚宿,是种植庄稼的地方,稷星与它相连,形成了周朝的大聚落。鹑首在山河的右边,太王因此兴起,后稷在那里被封为诸侯,宗周也建在那里。岁星和房宿的运行轨迹互相交错,相距七舍;木星和水星交替运行,相隔七个月。《国语》里说:“岁星所在的位置,就是我们周朝的疆域。从鹑火到天驷七列星宿,南北的运行轨迹相隔七个月。”二月戊子朔,月亮初现,武王从打败商朝后回到酆京,这在周历是四月。新历推算,望日是甲辰,乙巳日是月亮旁有光。所以《武成》篇里说:“四月,月亮旁有光,六月庚戌日,武王在周庙祭祀。”《麟德历》记载,周军开始出征时,岁星在降娄,月亮在宿天根,太阳在心宿,辰星在尾宿,水星伏在星纪,没有到达天鼋。还有《周书》记载,周朝改朝换代六年后,武王去世。《管子》和《家语》认为是七年,大概把打败商朝的那一年也计算进去了。
周公当政的第七年,二月初一那天是甲戌,十五那天是己丑,过了六天,就是乙未。三月初一那天是甲辰,三天后是丙午。所以《召诰》里说:“二月十五之后,过了六天,是乙未,周王从镐京出发,到达酆都。”“三月,丙午是初三,过了三天是戊申,太保从镐京出发到达洛邑。”第二年,成王正式登基。成王在位三十年,四月初一那天是乙酉,朔日是甲子,月亮刚开始出现。所以《尚书》里说:“四月,月亮刚开始出现。”甲子这天,写下了《顾命》。康王十二年,那年是乙酉年,六月初一那天是戊辰,三天后是庚午。所以《毕命》里说:“十二年,六月庚午是初三。过了三天是壬申,大王用成周的军队任命毕公。”从打败商朝到这时候,一共五十六年,月亮初现和满月的日期,上上下下都一致。但是《三统历》却把己卯年定为灭商的那一年,这是不对的。凡是符合古代记录的,也应该符合现代。 《三统历》从太初到开元,初一之后是三天。往前推算,到周朝初期,就和实际情况相差更大了。所以可以知道,符合《三统历》的说法,肯定不是灭商的那一年。
从周朝到春秋末年,日历的误差达到了八度。康王十一年,甲申年冬至,应该在牵牛星的六度位置。
《周历》把黄道分成十二次,星纪星在黄道开始的地方,南斗星在十四度的位置,这比《太初历》中星纪星和南斗星相差十七度要少。
古代的历法计算方法比较简单,时间长了就会出现误差。精通历法的人会根据实际情况不断修改,以适应变化。所以夏商周三代的兴起,都是根据天象来推算,考证星宿的位置,制定本朝的历法。历法改了,相应的服饰制度也会跟着改。等到继承王位的人守成不创新,负责历法的官员一代代继承,就会严格遵循先王的旧制。
《国语》里说:“农祥晨正,日月底于天庙,土乃脉发。” 意思就是说,春天要来了,太阳正好照在正南的天庙(指祭祀天地的场所),地气也开始活跃起来了。
周朝刚建立的时候,在立春前的九天,太阳到达营室星宿。按照当时的历法,这天太阳的位置偏东九十一度,那天早晨,大火星座(心宿二)正好位于正南方,所以说“农祥晨正,日月底于天庙”。 从《易经》的卦象来看,阳气上升到极致,然后开始下降受孕,从冬至后七天开始,阳气就开始恢复了。到了大寒节气,地气中的阳气滋润万物根部,和植物的萌芽一起向上生长,就像树木在地下一样,阳气已经到达了顶点,所以要推而广之,因此用临卦来表示。从节气变化来看,龙德星在田间,得到了天地间的滋润,地下的阳气开始向上涌动,地气震动,所以说:“自今至于初吉,阳气俱蒸,土膏其动。”
再往前推三天,是“小过”卦当令,阳气在内蓄积,然后向外发散,矫枉过正之后,才能回归中庸。到了艮卦,山泽之气相通,阳气冲破阻碍,植物开始萌芽,如果地气没有震动,阳气没有充分运行,那庄稼就长不好,所以说:“弗震不渝,脉其满眚,谷乃不殖。” 君子做事,一定要认真思考、仔细推敲之后再行动,怎么能只是简单地估计一下呢!
韦昭认为“日月底于天庙”指的是立春之初,这是不对的。按照《麟德历》的算法,应该是在立春后十五天。
《春秋》上记载,桓公五年秋天,举行了一场大规模的雩祭(祈雨祭祀)。《春秋传》解释说,这记录的时间不对。一般来说,祭祀要等到蛰虫出土后才能举行郊祭,等到苍龙星出现才能举行雩祭。根据《周历》,立夏那天太阳位于觜觿星宿二度。按照漏刻计时,黄昏时角宿一度在正中,苍龙和毕宿都出现了。所以,按照周代的历法,雩祭应该在建巳(星宿)之初举行。
但是到了春秋时期,太阳已经西移了五度,节气提前了一个月,这时节应该是在建辰(星宿)。《月令》认为应该在五月举行,《吕氏春秋》根据《颛顼历》说芒种时亢宿在正中,那么苍龙星应该在立夏的黄昏出现。他们不知道岁差的存在,所以雩祭的时间就错了。所以,唐代的历法应该以建巳之初,农祥初现的时候举行雩祭。如果按照《麟德历》,小满后十三日举行,那么龙角星已经过了中天,时间就不对了。《春秋传》还说:“凡是土木工程,要等到苍龙星出现后才能开始,并要告诫大家谨慎从事;等到火星出现才能开始动用火;等到水星在黄昏时分位于正中才能栽种;等到夏至才能结束。”
桓公十六年冬天,开始修筑城墙。《春秋》记载“冬,城向,书时也”,说明这次修筑城墙的时间记录是正确的。根据岁差推算,周初霜降时,太阳位于心宿五度,角宿和亢宿在早晨出现。立冬时,火星出现在营室星宿的正中。七天后,水星在黄昏时分位于正中,可以开始修筑城墙和房屋。所以祖冲之认为,正确的做法是,等到营室星位于正中八度时再开始。那一年九月初六日霜降,二十一日立冬。十月之前,水星在黄昏时分位于正中,所以《春秋传》认为时间是合适的。
杜氏根据晋代的历法,认为小雪后定星才位于正中,而季秋就修筑城墙,似乎太早了,因此他说:土木工程的事,都总的来说要参考天象,不必和历法计算完全一致。他引用《诗经》中的“定之方中”,认为这只是未完全位于正中的意思,并非完全准确。《麟德历》认为立冬后二十五日火星出现,大雪后营室星才位于正中。而《春秋》在九月就记载修筑城墙,是不是太早了呢?大雪节气在周代是孟春,阳气开始恢复,这时候修筑城墙,整修宫室,这就好比打开天地之门,这和立春断狱一样,时间上都有所偏差。所以,唐代的制度应该在玄枵星位于中天的时候开始土木工程。
公元前658年,晋侯带兵攻打虢国。卜偃说:“能打赢!童谣里早就预言了:‘丙日的辰时,龙尾星伏在辰星附近,穿着华丽的衣服,夺取虢国的旗帜,鹑火闪耀,天象祥瑞,军队在火中成形。’这应该就是九月十月交接的时候吧!丙子日清晨,太阳在尾宿,月亮在箕宿,鹑火就在中间,一定就是这个时候。” 箕宿,是尾宿往东十二度的地方。按照新历法算,那一年十月丙子日是朔日,太阳和月亮在尾宿重合,相距十四度。而按照古历法,太阳在尾宿,月亮在箕宿,所以说“龙尾伏辰”。古历法中,太阳和月亮的距离比较远,天刚蒙蒙亮的时候,太阳正位于鹑火星的末端,马上就要西落了,所以说“鹑火闪耀”。
卜偃这番话,把天文历法、童谣预言和军事行动巧妙地结合起来,听起来玄乎其玄,但实际上他运用的是当时先进的天文知识,对时间和天象的精准推算,来预测战争的胜负,并准确地指出了战争的时间。 这说明古代的占卜家,并非仅仅是靠迷信,而是结合了科学的观测和推算,来进行预测。 这种结合天文、历法和军事战略的预测方式,在当时无疑是相当高明的。 “丙之辰,龙尾伏辰,袀服振振,取虢之旂,鹑之贲贲,天策焞々,火中成军” 这句童谣,更是充满了神秘感,让人不禁感叹古人的智慧。
昭公七年四月初一,那天是甲辰,发生了日食。士文伯说:“离开卫国的土地,像鲁国的土地一样。如果发生灾害,鲁国一定会遭受。” 这年二月初一,也是甲辰,进入雨水节气后第七天,太阳在奎宿十度的位置。周朝的历法把降娄视为雨水的起始,而降娄正好位于鲁卫交界处。从周朝初期到现在,太阳的位置已经西移了七度,所以现在雨水节气开始得更早了。雨水节气后七天才能到达降娄,虽然太阳的度数一直在缓慢变化,但周朝的礼仪制度没有改变,祭祀时所对应星宿的安排,应该记录在建国之初。
淳风在驳斥《戊寅历》时说:“《汉书·律历志》记载降娄最初在奎宿五度,现在这个历法里,日食发生在降娄的中间,如果按照没有岁差的算法,日食应该发生在两次交接点之间。”但这说法不对。要讨论这个问题,得先弄清楚这十二次日食是怎么来的,然后才能明白它的对错。再说,刘歆等人制定的星宿位置,并不是真的能洞察阴阳的奥妙,得到鬼神的启示,他们只是根据当时观测到的节气星宿位置来定的。刘歆根据《太初历》冬至太阳在牵牛星前五度,所以把降娄定在东壁星八度。李业兴的《正光历》把冬至定在牵牛星前十二度,所以把降娄移到了东壁星三度。到了祖冲之之后,人们认为太阳的度数逐渐变化,就应该根据二十八宿的四正点来确定星宿位置,不再依赖节气。淳风认为冬至太阳常在斗宿十三度,所以应该把东壁星二度作为降娄的起始点,怎么能沿用汉朝的历法来驳斥仁均的观点呢?
再说,《三统历》记载昭公二十年,己丑年,太阳到达南至点,这和《麟德历》以及《开元历》的记载相同。这样看来,雨水节气后七天,也才到达降娄七度,并不是鲁卫交界处。三十一年十二月辛亥初一,又发生了日食。史墨说:“日月在辰宿的尾部,庚午日,太阳才开始出现异常。”《开元历》记载这一年十月初一,辛亥日,进入立冬节气。五天后,太阳在尾宿十三度,这比古代记载的辰宿尾部位置要远。 《麟德历》记载太阳在心宿三度,在黄道上,已经退到了房宿。
唉,公元前481年(鲁哀公十二年)的冬天,十二月,蝗虫很多啊!《开元历》算出来的闰年应该在十一年前的春天,到十二年冬天,这闰年都拖了很久了。那一年九月初一(己亥朔),比寒露节气提前了三天,太阳在亢宿五度的位置,离心宿还差一点距离。火星特别亮,还没到它应该潜伏的时候。等到霜降节气过了五天,火星才慢慢地落到地平线以下。可是《月令》上说“蛰虫咸俯”(所有冬眠的虫子都藏起来了),这说明火星还没伏藏,应该在霜降之前就伏藏才对。虽然节气推迟得厉害,但十月里晚上也看不到火星了。所以孔子说:“我听说过,火星伏藏了,所有冬眠的虫子才都藏起来。现在火星还在西方运行,负责制定历法的官员搞错了!”
在夏朝后稷时期,八月火星就伏藏了,九月火星进入内宫,霜降之后,火星已经出现在东方了。从春秋时期到现在已经一千五百多年了,孔子说的“火星伏藏了,所有冬眠的虫子才都藏起来”这句话,已经不适用了。如果冬至节气一直保持在原来的位置,孔子就不会说火星还在西方运行,还没伏藏,这说明九月初火星确实还在西方。从春秋时期到现在又一千五百多年,《麟德历》认为霜降后五天,太阳在氐宿八度,房宿、心宿开始伏藏,所以增加了闰日,用月食来校对,还差三度呢!闰余多了,那建亥之始(十月初一)的时候,火星还在西方可见。如果星宿的位置没变,孔子就不会说火星还在西方运行,还没伏藏,这说明十月也不是火星伏藏的时候。从伏羲、羲和时代开始,火星伏藏的时间,人们已经观察了三次变化了。所以孔子记载这件事,是想让后来的学者仔细研究这些细微的天象,来理解他的意思。
这一年因为闰年推迟太久,季秋的中气(秋分后的十五天)比正常时间晚了三天,等到第二年仲冬,又加了一个闰年。明白了孔子的意思后,我们修正了历法,十二月仍然可以出现蝗虫。到了哀公十四年五月初一(庚申朔),发生了日食。根据《开元历》推算,这次日食之前又增加了一个闰年,《鲁历》算对了。《长历》从哀公十年六月到十四年二月,只增加了一个闰年,这是不对的。
战国到秦朝的时候,太阳的运行轨迹好像后退了三次。秦始皇十七年,也就是辛未年冬至,太阳应该在斗宿二十二度的位置。秦朝的历法,上元正月己巳朔,也就是正月初一,那天早上刚立春,太阳、月亮和五颗行星都在营室五度的位置。一年四季的起始日,都正好落在四孟(孟春、孟夏、孟秋、孟冬)的开始。如果把朔日(农历初一)推迟十五天,闰月就放在正月前面;如果把朔日提前十五天,闰月就放在正月后面。所以,一年十二个节气,都在盈亏变化之中,而每天清晨和黄昏时分看到的星宿位置也随之改变。根据《颛顼历》和《月令》推算十二个节气,跟吕不韦记载的吻合。但是颍川人严伦认为,《月令》里记载的清晨和黄昏时星宿的位置,应该在中气(节气中间),所以祭祀雨神的日子太晚了,这和《左传》的记载相矛盾;杜预又根据《春秋》说,《月令》是错的。他们俩都错了。梁朝的《大同历》说,夏朝初期,冬至时太阳在牵牛座的起始位置,认为《明堂》和《月令》都是夏朝的记录,用中气推算就不符合了,于是他们把节气中间的位置作为标准,才稍微符合一些。他们不知道,如果把太阳位置放在节气开始的时候,自然就吻合了。从秦朝初期到现在,已经将近一千年了,节气开始时的星宿位置,都在中气附近。淳风就解释说:“现在孟春的中气,太阳在营室,黄昏和黎明时分看到的星宿,和《月令》记载的没什么不同。”秦朝历法里立春的时候,太阳在营室五度。《麟德历》说,从惊蛰那天到营室,黄昏和黎明时分看到的星宿是十二次,认为这样推算没有差错,这完全是胡说八道。
古时候的历法,冬至时黄昏和黎明时分看到的星宿与太阳的角距离是九十二度,春分、秋分是一百度,夏至是一百一十八度,平均每个节气相差三度,九天相差一刻钟。
秦朝的历法把一年分成十二次,立春在营室五度,这比《太初历》里记载的星宿位置在危宿十六度要靠前。黄昏时,在毕宿八度的位置,《月令》里说是参宿,指的是参宿的肩膀和腿;黎明时,在心宿八度的位置,《月令》里说是尾宿,这和《太初历》里尾宿的位置相符。仲春黄昏,在东井十四度的位置,《月令》里说是弧宿,弧宿在东井十八度的位置。黎明时,在南斗二度的位置,《月令》里说是建星,这和《太初历》里西建的位置相符。《甄耀度》和《鲁历》里,南方有狼、弧星,没有东井、鬼宿;北方有建星,没有南斗;井、斗的度数长,弧、建的度数短,所以用黄昏和黎明时分看到的星宿位置来校正。
以前那些老黄历,比如落下闳他们算的星象,星星离咱们远近不一样,但二十八宿的形状都差不多。以前啊,都是用牵牛星最上面那颗星来算距离,《太初历》改用牵牛星中间那颗星了。跟以前的老黄历比起来,《太初历》的牵牛星位置往前挪了大半度,按节气算,差不多是32分日里的21分。所以,《洪范传》里说冬至那天太阳在牵牛星一度的位置,《太初历》的星距就比它少21分,正好是南斗二十六度十九分。
《颛顼历》里说立春是从营室五度开始的,冬至在牵牛一度左右。《洪范传》里说的冬至位置可没多余的度数,所以立春就应该在营室四度多一点。祖冲之呢,他从营室五度开始算,用《太初历》的星距来确定位置,所以说秦朝时候的冬至,太阳在牵牛六度。虞广等这些人跟着祖冲之犯了错,还解释说:“夏朝的时候冬至太阳在斗宿末尾,按照岁差算,牵牛六度是《颛顼历》那个时候的位置。汉朝虽然发现有偏差,一下子挪了五度,所以冬至还在牛宿开头。” 你看,《洪范》里古今星距只差四分之三,都是从牵牛一度开始算的。虞广他们说的,也不对。
鲁宣公十五年,丁卯年,《颛顼历》的第十三蔀开始和《麟德历》都在丁巳日平旦立春。到秦始皇三十三年丁亥年,一共三百八十岁,正好是《颛顼历》壬申蔀开始。这一年,秦朝的历法说壬申日寅时立春,《开元历》和《麟德历》都说是庚午日平旦立春,差了两天,太阳应该在南斗二十二度。老黄历比实际时间晚两天,又多算了两度。这样算下来,秦朝的冬至应该定在上午两度。实际时间比历法晚两天,太阳位置却没差两度,这误差很小,不容易察觉,所以《吕氏春秋》就沿用了这个说法。
汉朝建立以后,张苍他们也认为《颛顼历》比其他五家历法中,跟实际情况最接近。现在我们仔细研究月食发生的时刻,发现开元年的冬至,跟牛初一(正月初一)相比,只差了一次(月食)。淳风认为古代的历法计算粗糙有误差,就算弦望(农历每月初八和二十三)和日出日落的时间跟实际情况相差十五度,他也不知道。他又引用《吕氏春秋》里的说法,说黄帝在仲春乙卯日(农历二月某一天)的时候,太阳在奎宿,开始铸造十二个钟,并把乐曲命名为《咸池》。到现在已经三千多年了,春分也还在奎宿,淳风就反过来认为秦朝的历法和现在没什么两样。根据吕不韦记载的《月令》,孟春(正月)的时候太阳在奎宿,他就认为黄帝时代也是这样,就像淳风认为冬至的时候太阳在斗宿十三度那样,就断定黄帝时代冬至也在建星(斗宿)。书里记载的,符合岁差(岁差是指地球自转轴指向的缓慢变化)的,淳风都不采纳,偏偏只相信《吕氏春秋》。如果说十二个节气可以作为标准,那么立春在营室五度,本来就应该不变,怎么能突然移动到惊蛰节气呢?这一点淳风也没考虑过。
汉朝四百二十六年(公元前135年)的时候,太阳的位置已经偏差了五度。景帝中元三年(公元前147年)甲午年冬至,太阳应该在斗宿二十一度。
话说公元前104年,也就是汉武帝太初元年,那时候啊,《三统历》和《周历》都算出来,十一月半夜的时候,月亮和太阳同时出现在牵牛星附近,正好是冬至,日月合朔。古代的历法和现代精确的历法比起来,两百年就会差一天,三百年就会差一天的朔日。时间越久,差距就越大,往前推算差距越大,往后推算差距也越大。
公元前685年,僖公五年,《周历》算正月辛亥是朔日,不过还差四分之一天,那天是冬至。用岁差推算一下,太阳正好在牵牛星附近。到了公元前636年,宣公十一年癸亥,《周历》和《麟德历》都算出来庚戌那天中午是冬至,但是月亮的朔日,《周历》比《麟德历》还早十五辰。再到公元前595年,昭公二十年己卯,《周历》算正月己丑是朔日,中午是冬至;《麟德历》算己丑日平旦(天亮)是冬至。公元前544年,哀公十一年丁巳,《周历》进入己酉蔀的开头,《麟德历》算戊申日半夜是冬至。公元前487年,惠王四十三年己丑,《周历》进入丁卯蔀的开头,《麟德历》算乙丑日下午是冬至。公元前188年,吕后八年辛酉,《周历》进入乙酉蔀的开头,《麟德历》算壬午日黄昏是冬至;而这年的十二月甲申日,晚上人定(七点到九点)的时候,月亮合朔。公元前104年,太初元年,《周历》算甲子夜半是冬至,月亮合朔;《麟德历》算辛酉日半夜是冬至,十二月癸亥日下午是月亮合朔。两部历法之间,时间差了三十二辰,朔日差了四辰。这就是古代历法疏密差距的大致情况了。
公元前687年,也就是僖公五年,周历、汉历、唐历都显示冬至是辛亥日。过了五百五十年多,到了太初元年(公元前104年),周历和汉历都显示冬至是甲子日的半夜,而唐历却是辛酉日,也就是说汉历比实际冬至晚三天。祖冲之和张胄玄当时就上书皇帝,祖冲之认为太初元年的冬至是癸亥日鸡鸣时分,而张胄玄认为是癸亥日日出时分。他们想让计算结果和甲子日对上,正好和鲁历的结果一致。从这里推算,僖公五年,鲁历显示冬至是庚戌日,而周历和汉历都显示是甲寅日。再说僖公登上了观景台观察并记录天象,这都是根据实际观测得出的,可不是随便估算的。这和丘明推算时间的正确方法相悖,反而符合了刘歆的错误推算。现在我们来考证麟德元年(公元664年),这一年是甲子年,唐历显示冬至是甲子日,而周历和汉历却显示是庚午日。那么从太初元年到麟德元年,时间相差四天;从太初元年往前推到僖公五年,时间相差三天,这也没什么好奇怪的。
通过岁差来考证太初元年辛酉日冬至的时间,太阳位于斗宿二十三度。汉历比实际冬至晚三天,而太阳位置却比实际位置提前三度,两者误差还比较小。所以落下闳等人虽然仔细观测了昏星、明星和中星,精确计算了太阳的位置,但还是没发现这个误差。但是,《洪范》和《太初历》推算的冬至时间,是昏星位于奎宿八度,夏至是昏星位于氐宿十三度。按照汉历,冬至太阳位于牵牛星的初度前半度,根据昏星距中星的距离推算,奎宿应该是十一度;夏至太阳位于房宿一度。这些都是落下闳等人测算的结果,误差达到三度,可见刘向等人大概已经知道《太初历》的冬至时间比实际时间提前三度了。
话说永平年间,负责修订历法的官员们仔细研究以前的记录,发现史书上记载的冬至太阳位置,总是比《太初历》少五度。可是当时很多儒生迷信那些谶纬之书,认定冬至太阳应该在牛宿的起始位置。所以像贾逵这些人就提出议论说:“根据石氏的星象记录,黄道经过牵牛星宿的起始点,到斗宿是二十度,赤道上是二十一度。《尚书·考灵耀》记载斗宿是二十二度,没有多余的度数。冬至那天,太阳在牵牛宿的起始位置,没有牵牛星宿起始的记载。我们根据现在观测的结果,太阳距离牵牛星宿中星有五度,到斗宿是二十一度又四分之一,这和《考灵耀》记载的比较接近。”于是他们就更改了历法,从斗宿二十一度开始计算。但是,古代历法都是以斗宿的魁星为起始点计算距离,到牵牛星宿是二十二度,并没有听说过把牵牛星宿往后挪动六度来符合《太初历》的星象记录啊!贾逵他们这些后学之士,只拘泥于前人的说法,不懂得天象的实际情况,所以用这种牵强附会的方法来欺骗人,后来大家才不听他们的了,认为太阳在牛宿起始位置的说法是错误的。
现在我们知道了岁差的道理,如果把太阳位置往后推算,那么辛酉年的冬至,太阳在斗宿二十度的位置,这和精密计算的结果相符,而且也符合现在的观测结果;如果往前推算,那么甲子年的冬至,太阳在斗宿二十四度,也就是昏星奎宿八度附近,这和古代的记录也能对得上。太阳位置虚退的度数,正好到达牵牛宿的起始位置。虽然为了使计算结果符合汉代的历法,减少了一些气分,但还是差了六度,和天象实际情况还不相符。《麟德历》的冬至位置没有变化,那么昏星的位置就差了差不多一半。淳风认为,《太初历》元年记录的星宿位置是正确的,日月合璧,都以建星为起始点。贾逵研究历法,也说古代历法的冬至都以建星为起始点。两汉时期的冬至,太阳位置都比较靠后,所以星宿度数大多在斗宿的末尾。现在用仪器测量,建星在斗宿十三四度之间,从古至今冬至的星宿位置没有变化,这可以肯定了。
古代的六种占卜术,都和《四分历》相同。《四分历》的方法,时间久了就会出现偏差,推算古代历法的制定时间,都在汉初,而和《春秋》相比,朔日都提前了,那么它肯定不是三代以前制定的了。
古时候,南斗星到牵牛星之间有二十一度,跟《太初历》记载的星距差四度,正好在西建星的起始位置。所以,当时有几种说法,有的用南斗星来确定度数,有的用建星来确定度数。在周朝和汉朝交替的时候,太阳已经慢慢西移了,沿用《春秋》旧历的人,认为冬至在牵牛星的头部;而根据当时的实际观测的人,则认为冬至在建星的度数范围内。但是,气朔(二十四节气中的朔日)前后相差不会超过一天,所以汉朝的冬至,应该在斗宿末尾。认为建星的度数与《太初历》的本初度数相符,这是很明显的证据。《四分历》的方法虽然粗略,但是古代的学者们对天象非常谨慎,他们修改历法的想法,在当时都是有效的。所以像司马迁这样的史学家,观察二十八宿的疏密程度,制作日晷和漏刻,用来推算晦朔、二十四节气、行星运行和月相变化,他们关于赤道的计算方法,后世都没法否定。所以,各种历法中,《太初历》是最精确的。如果当时太阳在建星,已经到达斗宿十三度,那么寿王制定的《调历》应该也符合这个位置,怎么可能突然相差一个节气而不知道错误呢?不能根据时变来观察,却要故意歪曲古代的历法,这是不对的。
一百多年后,到了永平十一年,用《麟德历》来比较,《四分历》的气候比实际情况晚了二天半,朔日比实际情况晚了半天。这一年,《四分历》迎来了辛酉蔀的首年,已经比《太初历》少了四分之三天的误差,确定比实际情况晚了二天半。《开元历》以戊午禺中(夏至)为冬至,太阳在斗宿十八度半左右,慢慢西移到牛宿前八度。到辛酉夜半,太阳在斗宿二十一度半左右。《续汉志》记载:“元和二年冬至,太阳在斗宿二十一度四分之一。”这和之前的记录是一致的。
祖冲之说:“《四分历》规定立冬时日影长一丈,立春日影长九尺六寸,冬至时南极日晷最长。两个节气到冬至的天数相同,那么日影长度应该相等。但是却相差四寸,这是冬至比实际情况晚的证明。两个节气日影长度相差九分半左右,进退调均,几乎没有盈缩。各推迟二天十二刻,那么日影长度都是九尺八寸。以此推算,冬至也比实际情况晚了二天十二刻。”东汉的晷漏在永元十四年确定,那么《四分历》实施后过了十五年了。
二十四节气的时间长短不一样,离正午时间最远的,要超过四十九刻。正午时刻的日影长度也会变化,所以历法学家们都取平均值,以正午为标准。而《开元历》推算出来的节气和日度,都取子时(午夜)一半的时刻为起始点。它还没到正午,还差五十刻。因此加上二日十二刻,正好是两天多一点。和冲气所计算的,以及破章历法两百年间的误差,差不多都是一天左右,都符合。
汉朝辛酉年冬至,用后天数减去,就符合现在历法岁差斗十八度。从现在历法戊午年冬至,用后天数加上,就符合贾逵测算的斗二十一度。反复验证,结果都一致。而淳风的冬至总是在斗宿十三度,难道当时他知道没到牵牛星五度,却不知道超过建星八度吗?
晋武帝太始三年丁亥年冬至,太阳应该在斗宿十六度。晋朝沿用魏国的《景初历》,它的冬至也在斗宿二十一度左右。太元九年,姜岌重新制定了《三纪术》,把冬至推算到斗宿十七度。他说:“古代历法把斗宿的度数算得太大,所以不适用于现在;《乾象历》把斗宿的度数算得太小,所以不适用于古代。《景初历》虽然比较接近,但是太阳的位置,却差了四度,合朔盈亏的计算,也都达不到准确的程度。比如,假定月亮在东井一度发生月食,用日食来检验,太阳却在参宿六度。”姜岌利用月食来校正日度,因此星辰运行的次序就准确了,成为后世历法学家们学习的典范。
宋文帝时期,何承天制定了《元嘉历》,他说:“《四分历》、《景初历》的冬至都在斗宿二十一度,我用月食来检验,现在应该在斗宿十七度。而且用土圭测量二至点,日影长度相差三天多,那么天球南至点,太阳应该在斗宿十三四度了。”这件事提交给太史监进行验证,结果和何承天上报的一样。《开元历》考证元嘉十年冬至,太阳在斗宿十四度,和何承天测算的结果相符。
大明八年,祖冲之制定了《大明历》,冬至在斗宿十一度,《开元历》推算的结果在斗宿十三度。梁朝天监八年,祖冲之的儿子员外散骑侍郎祖暅之也上报了他家的历法。皇帝下令让太史令、将作大匠道秀等人进行比较,距大明历已经过去了五十年,日度误差越来越大。第二年,闰月十六日,发生月食,月亮在虚宿十度,太阳应该在张宿四度。《承天历》推算的结果在张宿六度,《大明历》推算的结果在张宿二度。
大同九年的时候,虞广等人讨论说:“姜岌和何承天都认为月蚀发生的位置与太阳运行的位置相冲。虽然何承天把姜岌的计算结果调整了三度,但他的冬至点也比姜岌的计算结果提前了三天。何承天的计算结果是冬至点在斗宿十三四度,而姜岌的计算结果是十七度。实际上,这并不是真的位置偏移。”
祖冲之认为这是实际的误差,他根据这个误差推算现在的冬至点,认为太阳应该在斗宿九度,但是用这个结果去验证中星的位置却对不上。从姜岌到现在,差不多两百年了,而现在的冬至点却在斗宿十二度。然而,太阳的具体位置很难确定,如果用中星来验证,那么漏刻计时就不准确了。汉朝的时候,用观察日出日落来确定中星的位置,这种方法已经比较粗糙了。现在我们半夜观察中星,以此来推算太阳的位置,更加精确一些。但是,水会有清浊,漏壶也会有增减,或者漏壶里积了灰尘,所以漏刻的快慢也不一致。我们多次在夜里观察中星,前后几次的观测结果相差竟然能达到三度。大体上来说,冬至点最远不会超过斗宿十四度,最近也不会少于十度。”
他们又说,大同九年三月十五日半夜,月亮在房宿四度发生月蚀;九月十五日半夜,月亮在昴宿三度发生月蚀。根据月蚀发生的位置推算,冬至点都在斗宿十二度。从姜岌、何承天测算的冬至点到现在的大同年间,太阳的位置已经偏移了两度。而淳风认为,从晋朝、宋朝以来,三百多年了,用月蚀来推算冬至点,应该在斗宿十三四度之间,这是不对的。
刘孝孙的《甲子元历》算出来,太初年的冬至在牵牛座的起始位置附近。一直算到晋朝太元年间和宋朝元嘉年间,冬至都在斗宿十七度的位置。到了隋朝开皇十四年,冬至就跑到斗宿十三度了。而刘焯的历法,在仁寿四年算出的冬至,太阳在黄道上的斗宿十度,在赤道坐标系上则是斗宿十一度。后来刘孝孙改变了方法,采用了刘焯的算法,算出来的仁寿四年冬至,太阳也在斗宿十度。刘焯死后,他的学生胄玄用他之前的历法,以虚宿五度作为上元点来推算汉朝太初年的冬至,结果算出来还没到牵牛座,于是他又把上元点改成了虚宿七度。这样算出来,太初年的冬至在斗宿二十三度,永平年间的冬至在斗宿二十一度,这和现在的历法结果比较接近。但是,用这个方法算仁寿四年的冬至,却在斗宿十三度,和实际情况对不上,比之前的历法结果还差。
《戊寅历》算出来的太初元年辛酉年的冬至,一直算到甲子年,太阳的位置在牵牛座三度。永平十一年,算到戊午年的冬至,一直算到辛酉年,太阳的位置在斗宿二十六度。算到元嘉年间,中气上弦的开始时间是初三日,而冬至却还在斗宿十七度。想把这些结果统一起来,反而更加不准确了。而且,《戊寅历》还曲解了刘孝孙的理论,却不知道刘孝孙已经改用《皇极历》的算法了,所以受到了淳风等人的批评,岁差的计算方法因此没能推广开来。
太史令根据月食记录来校准太阳的度数,麟德元年九月庚申日发生月食,位置在娄宿十度。到了开元四年六月庚申日,月食的位置在牛宿六度。《麟德历》的计算结果和实际情况相差了三度,所以现在把冬至的位置定在赤道坐标系上的斗宿十度。
再说《皇极历》,它计算岁差都是从黄道坐标系开始的,每年太阳运行的度数,总是以南至点为基准,和赤道坐标系相比,偏差就更大。黄道坐标系的偏差是三十六度,赤道坐标系的偏差超过四十度,虽然每年都有细微的偏差,但问题不大。但是,制定历法的原则应该是尽可能精确,所以《开元历》都是从赤道坐标系推算的,只是现在有了新的方法,才改用黄道坐标系。