中國古歷的歷算過程

中國古代曆法絕大多數是陰陽合曆.

中國古代曆法的基本元素——日,氣,朔 中國至遲從殷商時代起就採用乾支紀日.從甲子到癸亥,六十乾支日名輪流循環使用."氣"是中國古歷的陽曆成分.從冬至點開始到下一個冬至點為一年(回歸年).一年分成二十四個"氣",稱為二十四節氣.按時間等分的叫平氣.按一年中太陽所走的路程等分的叫定氣.從冬至開始,每隔一個氣,如:大寒,雨水,春分……等都叫中氣;其餘十二個,如:小寒,立春,驚蟄……等都叫節氣.朔是中國古代曆法的陰曆成分.日月的黃道經度相同的時刻叫朔.月亮繞地球轉動的速度是不均勻的,它的速度變化的周期叫一個近點月.太陽周年視運動的速度也是不均勻的.它的變化周期直到明末以前一直認為就是一個回歸年(見年,月).由於日,月運動都不均勻,所以每連續兩次朔之間的時間也是不相等的.不過,經過長期觀測統計,可以求得一個相對穩定的平均數,這個平均數就稱為一個朔望月.根據朔望月推算出來的朔,叫平朔.對平朔進行日,月運動不均勻性的改正,得到真實的朔,稱為定朔(見朔望).中國古代的民用曆法根據氣,朔的變化,可分三個時期:①從春秋戰國時代到唐初,是使用平氣,平朔時期.②從唐初到明末,是使用平氣,定朔時期.③清代以後,是使用定氣,定朔時期.

曆法計算要點 為了推算每年的歷譜,首先要定一個計算起點,叫做曆元.中國古代曆法大多數取下列這樣的理想時刻為曆元:某年十一月甲子日的夜半,它正好是朔和冬至,而且又是月過近地點(即月行速度最快的點)的時刻,等等.由於各種曆法的數據不同,所以它們推得的理想時刻也各不相同.不過這樣的理想時刻通常離開曆法行用的年份都十分遙遠.這種曆元稱為上元(見上元積年).

設a為一回歸年時間,b為一朔望月時間,c為一近點月時間,單位均為"天".又設y為從上元起到所求年的累計年數.則ay就是從上元起到所求年的冬至的全部時間.因為乾支紀日以60天為一周,所以用60去除ay,所得餘數r1,就是所求年的冬至時刻到前面一個甲子的夜半的全部時間.這個時間的天數部分叫做大余,不足一天的零數部分叫小余.通常曆法都規定,大余"命甲子算外",即以甲子日為0,乙丑日為1,等等.因此,根據大余的數字,就可以知道所求年冬至日的乾支日名.有的曆法"命甲子算上",則應以甲子日為1,乙丑日為2,等等.還有少數曆法,如北宋的《紀元歷》,不選甲子日,而選己巳日為上元,命己巳算外,則大余就以己巳為0算起,庚午為1,等等.小余就是從夜半起算到發生冬至這瞬間的時間,可以把它按十二時辰制或百刻制等時刻制度(見漏刻),化成時刻.從r1累加一氣的時間a/24,就得冬至以後各氣的乾支日數及時刻.

上述r1的算法,數學上習慣用一個算式來表達:ay≡r1(mod60).這種算式叫一次同餘式.仿此,可以列出其他的一次同餘式:ay≡r2(modb),ay≡r3(modc).r2就是所求年冬至離開十一月平朔的時間間隔.r3則是所求年冬至離月亮上一次過近地點的時間間隔.r1- r2就是十一月平朔離上個甲子日夜半的時間.也和冬至的情況一樣,它的整數部分代表甲子日以來的乾支日數,零數部分則是從夜半算起到發生平朔的時間.

設這個時間為t0一般曆法都給出一份太陽運動表,一份月亮運動表.從太陽運動表,根據所求的十一月平朔在二十四氣中的位置(或者,十一月平朔在大雪氣後,相距時間為 ;或者,如若,即十一月平朔在大雪氣前,在小雪氣後,這時,離小雪的時間為),使用內插法可以推算因太陽運動不均勻而引起的定朔改正數Δts;從月亮運動表,根據所求的十一月平朔在一個近點月周期中的位置(即r3),也是用內插法,可以推算因月亮運動不均勻而引起的定朔改正數Δtm.於是,十一月定朔