这还只是要作为历元的最基本要求,还有其他的,比如是日月五星会于牵牛之类的特殊天象等等。而编写历法,要想能够无限推演下去,而不必重复计算,最重要的是找到合理的周期,这样就能够无限循环下去了。

因为存在着节气周期、合朔周期、干支周期三个系统,所以历法的周期就需要调和这三个系统,由此就产生了章、蔀、纪、元。

首先是调和“节气周期”和“朔望月周期”,这个是采用19年7闰的方法,在19年中设置7个闰月,这样能够使节气和朔望月周期协调,也就是19年会后的冬至节气的日期,刚好也是日月合朔的日期,节气和初一是在同一天的。而这个19年的小周期就称为“章”。

但是19年的周期,虽然能够使冬至和合朔在同一天,但是时辰却和历元却差了三个时辰。因为,按照四分历的岁周是365¼天,那么19年后的天数,是余¾天的,也就是说历元是子时,19年之后则是在酉时了,差了¼天。

那么如何调整这个周期呢?简单的做法是将19年这个周期再乘以4,也就是乘以余数的分母,这样就能确保整个周期循环完之后,回到的时候同一时辰。这四章就构成了一蔀,也就是19×4=76年。

那么问题来了,在节气和朔望月周期统一了之后,怎样吧干支周期也统合进来呢?我们知道用干支纪日,是六十甲子循环一周,那么要想让周期结束后,日干支重新回到历元日的干支,那么这中间的天数一定是六十的整数倍,我们来计算一下一蔀76年×365¼天=27759天,用27759天/60=462余13/20,也就是余了六十干支中的39天,那么要解决这个余数的问题,还是用老办法,在一蔀76年的基础上乘以余数的分母20就可以了,76×20=1520年,这个周期循环完之后,就可以实现回到相同的日干支,这20蔀为一纪,1520年。

这里面还有一个附加效果,就是这个1520年的周期走完之后,不但可以回到和历元相同的日干支,也回到了和历元相同时干支,为什么呢?

因为我们之前计算的一蔀76年为27759天,而一天是12个时辰,也就是5天循环完60干支时辰。

那么27759÷5=5551余4/5,也就时说并不会回到相同时辰干支。

如果把这个周期乘以5的整数倍,就都可以使这个周期整除了。

而上述1纪为20蔀,刚好是5的整数倍,所以1纪循环完之后,不但节气与历元相同,合朔与历元相同,日干支、时辰干支,也都和历元相同。

那么,问题又来了,能不能让年干支和月干支也和历元相同呢?

当然可以,还是相同的方法,60年的年干支轮完一周,5年的月干支轮完一周,5年与60年的最小公倍数是60年,那么只要周期的年数是60的整数倍,就可以实现年干支和月干支的回归了。

一纪为1520年÷60=25又1/3,那么按照老办法,将一纪1520年乘以余数的分母3,则1520年×3=4560年,称为一元。

这个周期是调和了节气的“岁”与朔望月的“年”,还有年月日时的干支,形成了一个近乎完美的大周期。

其实真实历法的历元需求,只要满足这样的条件就可以了,但是古人制定历法的时候,往往把这个时间按照历元周期向前推导,直到推导到某个有特殊天象的日子作为历元。

其实向上推到几个周期之后的历元已经不准确了,因为历法都是有误差的,实际的历元用的都是最近期的,不可能是几个周期之前历元,那样长的时间跨度,会使得历法的微妙误差放大到非常明显的程度了,那样就需要改历了。

讲到这里,诸位老铁们,应该可以自行去思考,开篇所提的那个问题了。两个不同时代的人,八字相同,又都是阴历十一月十五,月圆之夜出生,并且出生时间,都在冬至后五个时辰。那么他们至少需要相隔多少年,才会出现呢?

当然这个问题,是设定在四分历的条件下的,现在的历法已经和四分历不同了。

因为古历法存在一个发展的过程,并且历算的精密程度也是在不断发展的,后续会逐渐介绍其他古历法,以及其他一些古历法的重要问题,敬请期待。

(双鱼戏水 文)返回搜狐,查看更多