天干地支的日柱算法相较于年岁算法和月份算法来说要复杂一些推算日柱的前提条件只有一个首先要推算出当年的元旦日干支而推算元旦日干支之前要弄清楚当年是闰年还是平年日柱所有的推算用的都是国历
闰年是指该年的二月多一天即一年366天平年是指该年的所有月份天数为正常天数不多也不少即一年365天能被4整除的年份就是闰年例如2008年2020年而十二个月之中又有大小月之分大月有31天小月有30天平年的二月有28天闰年的二月有29天一年中大月有一三五七八十十二月小月有二四六九十一月
推算元旦日的干支要分为闰年和平年而推算闰年的元旦日干支又要分20世纪和21世纪20世纪指1900年2000年21世纪指20002100年
我把推算元旦日所需要的数据都编辑成了图片即图一和图二
20世纪闰年的元旦日干支推算方法如下元旦日天干该年末尾两位数4如果计算出来的数大于10就一直减到小于等于10为止再对照图一数字为多少天干就为多少元旦日地支元旦日天干计算出来的那个数4看余数再参照图二能够被整除即余数为0的数也算为酉例如计算1980年的元旦日干支天干804201010对应天干为癸地支2045被整除余数为0故为酉所以1980年的元旦日干支为癸酉
21世纪闰年的元旦日干支推算方法如下元旦日天干该年末尾两位数1004如果计算出来的数大于10就一直减到小于等于10为止地支则和20世纪的地支一样例如计算2020年的元旦日干支天干20100430101010对照图一为癸地支304余数为2对照图二为卯所以2020年的元旦日干支为癸卯
平年的元旦日干支没有分20世纪和21世纪都是通用的而平年的元旦日干支是在闰年元旦日干支的基础上推算出来的如果该年为闰年则在此年元旦日干支的基础上6就是下一年的元旦日干支如果该年是平年则在此年的元旦日干支的基础上5就是下一年的元旦日干支例如我们知道1980年为闰年元旦日干支为癸酉癸对应的数字是1010616天干有十个只要超过了十我们就要减去十161066对应的干支是己酉对应的数字是1010616地支有十二个超过十二就要减去十二161244对应的地支是卯所以1981年的元旦日干支是己卯现在我们知道1981年的元旦日干支是己卯那么我们再来推算一下1982年的元旦日干支1981年是平年已对应数字665111011对应天干甲卯对应数字44599对应地支申所以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日为甲辰日其他日柱照此类推
平年的算法和闰年的算法一样只不过全部要按照平年的算法来算而已
天干地支对应表
元旦日地支参照表