阴阳历实际即以阴历、阳历、置闰三部分组成。置闰用以保证阴历和阳历基本对应。如四分历一回归年365.25日,一朔望月29.53日,12月仅得354.37日,少一回归年约10日,积三年则差一月,故加闰月使相合。
四分历之基本数据:岁实365又1/4日,朔策29又499/940日。其中940称为(朔旦)日法。
凡历法此二者皆实测得之,如何置闰则各以其数据计算得之。
四分历从某一历元起算,此历元即假设日月在该时刻合朔,且该时刻恰为甲子日的半夜0时,同时太阳冬至,古称“十一月甲子夜半朔旦冬至”,即十一月的甲子、夜半、朔旦、冬至四个条件相等。
自历元起开始积日,日的整数部分对60甲子求余,称(朔旦)大余,大余对应甲子表的序号,就是该日的干支。小数部分化为以日分为分母的分数,分子称为小余。历元时大余小余皆为0,故称“无大余,无小余”。
求任意年月日的大小余,宜先求该年冬至月的朔日,称为“天正朔”。
如从历元年起到第二年正月朔,历经12个朔望月。合354又348/940日。54即为大余,348即为小余。第二年同理,距历元708又696/940日,故“大余48,小余696”。但对于第三年,因为有闰,实际距历元历经了37月,则“大余12,小余603”(37*(29+499/940)=1092又603/940)。
但对于求任意一年的大小余,就必须先知道置闰在哪里。以闰余法为例:
一朔望月29又499/940,即27759/940日,与岁实通分,即235月凡27759/4日,恰为19年。此时冬至和朔旦再次同时(朔旦冬至)。即6939.75日为一个置闰周期,合19年,即共置闰7次,古称一章。如此,以19年闰7月,则知每年闰余7/19月,满一月之年置闰。 即求任意一年的大小余,先求置闰数。如距历元50年,则闰余350/19月,合置闰18次。故历618个朔望月,凡18250+62/940日,故”大余10,小余62“。
满一章日数尚余小数0.75,尚非夜半,欲得夜半朔旦冬至,需取4章凡76年,27759日,古称一蔀。
满一蔀日数对60甲子尚无法除尽,余39,与60求最小公倍数得780,即是60的20倍,凡20蔀为一纪得1520年,。经此1520年后,日复得甲子,夜半朔旦冬至。历法至此近于完备,只是纪年的干支与历元不同,1520除60甲子余20,故三纪(各称天地人)而除尽。则以4560年为一元,历法于此方备。
(章蔀纪元的年数皆从1始。如历元年为第一章第一年,距历元50年为第3章第13年。)
已得任意一年天正朔,求该年任意一月朔日大小余,只需加朔策即可。如第3章第13年之子正八月,即以前计算所得,大余10,小余62。为10又62/940日,加7*27759/940日,得128又178/940,则大余为36,小余为735。
但如果该年有闰,则须先知道闰在几月。如次年天正闰余为357/19月(即15/19月,凡≥12/19月即须置闰。因加该年闰余7/19月已满一月,使用时闰余仅取分子15表示),知此年有闰。若闰在八月前,则需加一月,闰在六月后,则无需加。
一章19年凡228月加7闰月,则每月闰余7/228月。该年天正闰余15/19月,至八月闰余即加7*7/228,得229/228,即满一月,闰在七月。则至该年天正至八月历八个月,故先求天正大余为4,小余为410。加8*27759/940,得240又642/940,即该年八月大余0,小余642。
推步基本思路:
1. 求入元年:从上元起算,以一元4560为一个大周期,此周期内各日干支大小余相同,故对4560求余,转为一元内问题求解。
2. 求入蔀年:从元首起算,以一蔀76年为一个小周期,此周期内各日大小余相同,故对76求余,转为一蔀内问题求解,求干支再加上蔀首干支即可。
3. 求闰余:以19年7闰,则每年闰7/19月,满1则年前置闰。闰余取分子7,满12之年置闰。
月闰余:以19即235月7闰,则每月闰7/235月。闰余取分子7,满228之月置闰。
4. 求积日:即年数(即入蔀年,已转为一蔀内)乘一年日数365又1/4。
5. 求大小余:即积日对60求余,整数部分为大余,小数部分为小余(转为以日法为分母的分 数,取分子为小余)。
大余:从蔀首起算,以积日对60求余,即为大余。
小余:积日转为以940为分母的假分数表示,分子对940求余,即为小余。
6. 求干支:以蔀首干支加大余,或从入元年的积日对60求余。
历法推步,基本皆可写成一次同余式的形式,设所求年为year,则:
计算时入元年和入蔀年从0起算,表示时从1起算,故结果各加1(不代入公式中计算,仅作为表示)。
先秦之四分历,各有历元,分别为:
周历,上元丁巳:近距历元:-1624
殷历,上元甲寅:近距历元:-1567
鲁历,上元庚子:近距历元:-1841
夏历,上元乙丑:近距历元:-1076
颛顼历,上元乙卯:近距历元:-1506
黄帝历,上元辛卯:近距历元:-1350
计算时,只需使用近距历元即可,皆距其历元605元。其中颛顼历历元为正月己巳夜半朔旦立春。
网友评论