陰陽(yáng)歷實(shí)際即以陰歷、陽(yáng)歷、置閏三部分組成。置閏用以保證陰歷和陽(yáng)歷基本對(duì)應(yīng)。如四分歷一回歸年365.25日,一朔望月29.53日,12月僅得354.37日,少一回歸年約10日,積三年則差一月,故加閏月使相合。
四分歷之基本數(shù)據(jù):歲實(shí)365又1/4日,朔策29又499/940日。其中940稱為(朔旦)日法。
凡歷法此二者皆實(shí)測(cè)得之,如何置閏則各以其數(shù)據(jù)計(jì)算得之。
四分歷從某一歷元起算,此歷元即假設(shè)日月在該時(shí)刻合朔,且該時(shí)刻恰為甲子日的半夜0時(shí),同時(shí)太陽(yáng)冬至,古稱“十一月甲子夜半朔旦冬至”,即十一月的甲子、夜半、朔旦、冬至四個(gè)條件相等。
自歷元起開始積日,日的整數(shù)部分對(duì)60甲子求余,稱(朔旦)大余,大余對(duì)應(yīng)甲子表的序號(hào),就是該日的干支。小數(shù)部分化為以日法為分母的分?jǐn)?shù),分子稱為小余。歷元時(shí)大余小余皆為0,故稱“無(wú)大余,無(wú)小余”。
求任意年月日的大小余,宜先求該年冬至月的朔日,稱為“天正朔”。
如從歷元年起到第二年天正朔,歷經(jīng)12個(gè)朔望月。合354又348/940日。54即為大余,348即為小余。第二年同理,距歷元708又696/940日,故“大余48,小余696”。但對(duì)于第三年,因?yàn)橛虚c,實(shí)際距歷元?dú)v經(jīng)了37月,則“大余12,小余603”(37*(29+499/940)=1092又603/940)。
但對(duì)于求任意一年的大小余,就必須先知道置閏在哪里。以閏余法為例:
一朔望月29又499/940,即27759/940日,與歲實(shí)通分,即235月凡27759/4日,恰為19年。此時(shí)冬至和朔旦再次同時(shí)(朔旦冬至)。即6939.75日為一個(gè)置閏周期,合19年,即共置閏7次,古稱一章。如此,以19年閏7月,則知每年閏余7/19月,滿一月之年置閏。 即求任意一年的大小余,先求置閏數(shù)。如距歷元50年,則閏余350/19月,合置閏18次。故歷618個(gè)朔望月,凡18250+62/940日,故”大余10,小余62“。
滿一章日數(shù)尚余小數(shù)0.75,尚非夜半,欲得夜半朔旦冬至,需取4章凡76年,27759日,古稱一蔀。
滿一蔀日數(shù)對(duì)60甲子尚無(wú)法除盡,余39,與60求最小公倍數(shù)得780,即是60的20倍,凡20蔀為一紀(jì)得1520年,。經(jīng)此1520年后,日復(fù)得甲子,夜半朔旦冬至。歷法至此近于完備,只是紀(jì)年的干支與歷元不同,1520除60甲子余20,故三紀(jì)(各稱天地人)而除盡。則以4560年為一元,歷法于此方備。
(章蔀紀(jì)元的年數(shù)皆從1始。如歷元年為第一章第一年,距歷元50年為第3章第13年。)
已得任意一年天正朔,求該年任意一月朔日大小余,只需加朔策即可。如第3章第13年之子正八月,即以前計(jì)算所得,大余10,小余62。為10又62/940日,加7*27759/940日,得128又178/940,則大余為36,小余為735。
但如果該年有閏,則須先知道閏在幾月。如次年天正閏余為357/19月(即15/19月,凡≥12/19月即須置閏。因加該年閏余7/19月已滿一月,使用時(shí)閏余僅取分子15表示),知此年有閏。若閏在八月前,則需加一月,閏在六月后,則無(wú)需加。
一章19年凡228月加7閏月,則每月閏余7/228月。該年天正閏余15/19月,至八月閏余即加7*7/228,得229/228,即滿一月,閏在七月。則至該年天正至八月歷八個(gè)月,故先求天正大余為4,小余為410。加8*27759/940,得240又642/940,即該年八月大余0,小余642。
推步基本思路:
1. 求入元年:從上元起算,以一元4560為一個(gè)大周期,此周期內(nèi)各日干支大小余相同,故對(duì)4560求余,轉(zhuǎn)為一元內(nèi)問題求解。
2. 求入蔀?zāi)辏簭脑灼鹚?,以一?6年為一個(gè)小周期,此周期內(nèi)各日大小余相同,故對(duì)76求余,轉(zhuǎn)為一蔀內(nèi)問題求解,求干支再加上蔀首干支即可。
3. 求閏余:以19年7閏,則每年閏7/19月,滿1則年前置閏。閏余取分子7,滿12之年置閏。
? ? 月閏余:以19即235月7閏,則每月閏7/235月。閏余取分子7,滿228之月置閏。
4. 求冬至積日:即年數(shù)(即入蔀?zāi)?,已轉(zhuǎn)為一蔀內(nèi))乘一年日數(shù)365又1/4。
5.求天正朔積日:先求天正積月,乘朔望月日數(shù)即得。積月按每年有235/19月算得。
6. 求大小余:即積日對(duì)60求余,整數(shù)部分為大余,小數(shù)部分為小余(轉(zhuǎn)為以日法為分母的分?jǐn)?shù),取分子為小余)。
? ? 大余:從蔀首起算,以積日對(duì)60求余,即為大余。
? ? 小余:積日轉(zhuǎn)為以940為分母的假分?jǐn)?shù)表示,分子對(duì)940求余,即為小余。
7. 求干支:以蔀首干支加大余,或從入元年的積日對(duì)60求余。
具體計(jì)算式如下:
計(jì)算時(shí)入元年和入蔀?zāi)陱?起算,表示時(shí)從1起算,故結(jié)果各加1(不代入公式中計(jì)算,僅作為表示)。
先秦之四分歷,各有歷元,分別為:
周歷,上元丁巳:近距歷元:BC1624
殷歷,上元甲寅:近距歷元:BC1567
魯歷,上元庚子:近距歷元:BC1841
夏歷,上元乙丑:近距歷元:BC1076
顓頊歷,上元乙卯:近距歷元:BC1506
黃帝歷,上元辛卯:近距歷元:BC1350
計(jì)算時(shí),只需使用近距歷元即可,皆距其歷元605元。其中顓頊歷歷元為正月己巳夜半朔旦立春。