天干地支的日柱算法相較于年歲算法和月份算法來說,要復雜一些。推算日柱的前提條件只有一個,首先要推算出當年的元旦日干支。而推算元旦日干支之前,要弄清楚當年是閏年還是平年。日柱所有的推算用的都是國歷。
閏年,是指該年的二月多一天,即一年366天;平年,是指該年的所有月份天數為正常天數,不多也不少,即一年365天。能被4整除的年份就是閏年,例如2008年,2020年。而十二個月之中,又有大小月之分,大月有31天,小月有30天,平年的二月有28天,閏年的二月有29天。一年中大月有一、三、五、七、八、十、十二月;小月有二、四、六、九、十一月。
推算元旦日的干支,要分為閏年和平年。而推算閏年的元旦日干支,又要分20世紀和21世紀。20世紀指1900年—2000年,21世紀指2000—2100年。
我把推算元旦日所需要的數據都編輯成了圖片,即圖一和圖二。
20世紀閏年的元旦日干支推算方法如下:元旦日天干=該年末尾兩位數÷4(如果計算出來的數大于10,就一直減到小于等于10為止),再對照圖一,數字為多少,天干就為多少;元旦日地支=元旦日天干計算出來的那個數÷4,看余數,再參照圖二(能夠被整除,即余數為0的數,也算為酉)。例如,計算1980年的元旦日干支,天干=80÷4=20-10=10,對應天干為癸;地支=20÷4=5(被整除,余數為0),故為酉。所以1980年的元旦日干支為癸酉。
21世紀閏年的元旦日干支推算方法如下:元旦日天干=(該年末尾兩位數+100)÷4(如果計算出來的數大于10,就一直減到小于等于10為止);地支則和20世紀的地支一樣。例如,計算2020年的元旦日干支,天干=(20+100)÷4=30-10-10=10,對照圖一,為癸;地支=30÷4,余數為2,對照圖二,為卯。所以2020年的元旦日干支為癸卯。
平年的元旦日干支沒有分20世紀和21世紀,都是通用的。而平年的元旦日干支是在閏年元旦日干支的基礎上推算出來的。如果該年為閏年,則在此年元旦日干支的基礎上+6,就是下一年的元旦日干支;如果該年是平年,則在此年的元旦日干支的基礎上+5,就是下一年的元旦日干支。例如,我們知道1980年為閏年,元旦日干支為癸酉,癸對應的數字是10,10+6=16,天干有十個,只要超過了十,我們就要減去十,16-10=6,6對應的干支是己;酉對應的數字是10,10+6=16,地支有十二個,超過十二就要減去十二,16-12=4,4對應的地支是卯。所以1981年的元旦日干支是己卯。現在我們知道1981年的元旦日干支是己卯,那麼我們再來推算一下1982年的元旦日干支。1981年是平年,已對應數字6,6+5=11-10=1,1對應天干甲;卯對應數字4,4+5=9,9對應地支申,所以1982年的元旦日干支是甲申。其他年份的元旦日干支照此類推。
一年有365或366天,天干地支以60為一個輪回,所以一年之中,有六天的日柱與該年的元旦日干支相同。366天之中,與元旦日相同的日期有3月1日、4月30日、6月29日、8月28日、10月27日、12月26日;365天之中,與元旦日相同的日期有3月2日、5月1日、6月30日、8月29日、10月28日、12月27日。推算日柱的時候,我們將運用到以上所有的內容。
例如,推算2020年12月12日的日柱。首先我們要計算出此年的元旦日干支。2020年能夠被4整除,為閏年,所以我們的推算全部按照閏年的方法來算。從上面的推算可以得知,2020年的元旦日干支是癸卯,所以在這一年的六天之中,都是癸卯。距離12月12日最近的癸卯日是12月26日,26日在12日的后面,且兩者之間相隔了14天,所以在元旦日的基礎上,減去14。癸減去14對應的天干是己,卯減去14對應的地支是丑,所以12月12日這天為己丑日。再比如我們算2020年12月27日的日柱,通過上面的表達,我們知道了這年的元旦日為癸卯,與這一天相近的癸卯日是12月26日,27日在26日的后面,且相差了一日,所以在元旦日的基礎上加1,癸加1對應的天干是甲;卯加1對應的地支是辰,所以12月27日為甲辰日。其他日柱照此類推。
平年的算法和閏年的算法一樣,只不過全部要按照平年的算法來算而已。
天干地支對應表
元旦日地支參照表
本文來自:解夢佬,原地址:https://www.jiemenglao.com/suanming/363550.html