← 返回卷宗
術數探討

快速通過公曆計算日柱的方法

技法術數
首發於微信公眾號 <<道家陰符文化>> 2019-10-11 本文省略配圖
術數裡經常需要使用干支曆法,現在人一般都使用手機排盤,或是上網查詢,但是有時遇到手頭沒有排盤軟件,或是超出排盤軟件計算的日期時,計算干支便成了一個比較麻煩的事。 年月總歸是比較好記的,對大多數人來說,最難的便是日柱的計算方法。 一般快速計算可以使用著名的高氏日柱公式,通過它來計算干支,還需要要配合輔助公式使用: 輔助公式:X = 44 (C-17) + (C-17)/4 +3 日柱公式:r=s/4 *6 +5(s/4*3+u)+m+d+x r:日柱的母數,r除以60的餘數即是日柱的干支序列數; s:公元年數後兩位數,s/4 只取整數部分; u:s除以4的餘數; m:月基數 d:日期數 x:世紀常數 比如計算1949年10月1日的日柱,首先要計算X,1949年,是20世紀,所以C就為20 X= 44(20-17)+(20-17)/4 +3 X= 135 得到的x,除以60取餘數,得15,代入到日柱公式中,即: r=s/4 *6 +5(s/4*3+u)+m+d+15 49年,s要取減1,那麼s就是48,而m為月基數,所以需要查表: 因為為10月1日 ,所以m為33,d為1,,所以可以再進行代入: r=49/4 *6 +5(49/4*3+u)+33+1+15 注意u,它是48除以4取的餘數,所以u=0,所以: r=48/4 *6 +5(48/4*3+0)+33+1+15 r=72+180+33+1+15 r=301 最後可得 r = 301,按60取餘數得1,1即是甲子,所以1949年10月1日是甲子日。 同樣的,用來計算一下2000年1月1日的日柱,21世紀自然C-21,所以: X=44(21-17)+(21-17)/4 +3 X=176 + 1 + 3 X=180 對60取餘,為0,所以x=0,而2000年,取最後兩位00減1為99,代入日柱公式 r=s/4 *6 +5*(s/4*3+u)+m+d r=99/4*6 +5*(99/4*3+3) + 0+1 r=24*6+5*(26*3+3) +1 r=148.5+386.25+1 r=535.75 取整後,為535,對60取餘得55,干支列表中的第五十五位:戊午,故2000年1月1日的日柱為戊午。 這種計算還需要把月的基數表記憶下來,而且s還要減1換算,u又在其中是代表取餘,著實麻煩,是否有看起來思維負擔不那麼重的方法? 答案是有的,在維基百科上有一個公式是這樣的: r= 44*c + INT(c/4) + 5*y + INT(y/4) + 30*(m+1) + INT(3*(m+1)/5) + d +7; 這裡的計算就比較簡單了,INT代表的是括號裡的運算只取整數,不用取小數,比如2019年10月11日,它的變量是這樣的: c=20 y=19 m=10 d=11 然後代入計算便可以了,尤其是這個公式,可以不用涉及小數運算,凡是除不盡的,都直接忽略掉小數,舉例來說,這個變量代表入後,公式即為: r= 44*20 + INT(20/4) + 5*19 + INT(19/4) + 30*(10+1) + INT(3*(10+1)/5) + 11 +7; r= 880 + 5+95+4+330+6+11+7 r= 1338 1338按60取餘,得18,即第18個干支。 用18對10取餘,得8,這為天干序數,第八個為辛 用18對12取餘,得6,這為地支序數,第六個為巳 所以此日柱為辛巳。 但值得注意的是,這個公式只適合1582年後的格里曆的算法,如果是1582年以前的儒勒歷,則需要把C的係數改成45,而最後的+7改為加5。 為清晰分列如下: 格里曆:r= 44*c + INT(c/4) + 5*y + INT(y/4) + 30*(m+1) + INT(3*(m+1)/5) + d +7; 儒勒歷:r= 45*c + INT(c/4) + 5*y + INT(y/4) + 30*(m+1) + INT(3*(m+1)/5) + d +5;

本文由 三符道長 撰於 2020年3月26日。轉載請註明出處。