天干地支的日柱算法
天干地支的日柱算法相较于年岁算法和月份算法来说,要复杂一些。推算日柱的前提条件只有一个,首先要推算出当年的元旦日干支。而推算元旦日干支之前,要弄清楚当年是闰年还是平年。日柱所有的推算用的都是国历。
闰年,是指该年的二月多一天,即一年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日为甲辰日。其他日柱照此类推。
平年的算法和闰年的算法一样,只不过全部要按照平年的算法来算而已。
天干地支对应表
元旦日地支参照表