日干支计算法不同于年干支、月干支,它是以阳历历法为基准,因为阳历历法除四年闰二月多出一天之外,其余每年的大小月都是固定不变的,不似阴历历法,其大小月没有规律性可循阳历大小月各月天数见下:大月:1 3 5 7 8 10 12每月 31 天小月:4 6 9 11二月:平年 28 天每月 30 天闰年 29 天日干支的计算公式为:求日干={元旦天干基数+日数+〔或-〕月数加减数}÷10=商……余数〔假设闰年,从三月起余数均加一〕求日支={元旦地支基数+日数+〔或-〕月数加减数}÷12=商……余数假设闰年,从三月起余数均加一〕一、何为元旦干支基数?所谓的元旦干支基数,说白了就是阳历历法元旦这一天的日干支的天干、地支的序数如以 2000 年而言,其元旦的日干支为戊午,其序数,戊在天干中的序数为第五位,所以其基数为 5,午在地支中序数为第七位,所以其基数为 7要计算元旦干支首先要明确本年是平年还是闰年,因为这两者的计算方法不同平闰年的具体计算方法是这样的:以除以 4 为基准,但凡能被 4 整除的都属于闰年,二月加上一天,为二十九天否者便为平年,二月二十八天其理论根据是这样的,地球绕太阳公转一周,需要 365 天 5 时 48 分 46 秒。
由于记年的天数是以整数而算,而小数点则忽略不计,这样每年便多出了 5 小时 48 分 46 秒,这样 4 年内便多出了 23 小时 15 分 4 秒,接近于 1 天,故按 1 天来计算但这在 4 年内多算了 44 分 56 秒,这样积了 400 年刚好多出了 3天,故必须要减去这 3 天,以消除这个人为性的误差,至于怎么个减法,阳历历法规定:但凡能被 4 整除的都属于闰年,但遇到公元世纪整数的闰年,能被 400 整除的才算是闰年,二月多出 1 天为 29 天如以 1600年、1700 年、1800 年、1900 年、2000 年这五个公元世纪整数年而言,1600 年、2000 年能被 400 整除为闰年,1700 年、1800 年、1900 年不能被 400 整除,则为平年,这样在这 1600 年、1700 年、1800 年、1900 年、2000 年 400 年中刚好减去了 3 天,为 1700 年平年的 1 天,1800 年平年的 1 天,1900 年平年的 1 天防止了这种人为性误差的延伸关于这种杯 400 年整除为闰年,不能被 400 整除的为平年的这种说法古人又称为“每百年停闰,四百年不停闰”学说。
平闰年分过之后,再论加 5 还是加 6,关于这加 5 还是加 6 如何,可以从“一甲子学说”,由于一干代表一天,一支也代表一天,一甲子共 60 天,一年〔平年〕365 天除以 60 刚好 6 甲子多出 5 天,所以应加上 5假设闰年二月多出了 1 天为 29 天,这样一年为 366 天,除以 60,则为 6 甲子多出 6天,所以应加上 6至于怎么加、怎么应用,不妨举例而言如已2002年的元旦干支为己巳,欲求 2003 年的元旦干支?其具体计算方法是这样的,已知 2003 年为平年,应加 5,这样 2003 年元旦干支的天干是在2002 年元旦天干序数己〔6〕的基础上加 5,为甲〔11,为天干一轮余1,为甲〕其地支亦是 2002 年元旦地支序数巳〔6〕的基础上加 5,为戌〔11,为地支的第 11 序数,为戌〕合之为甲戌,所以 2003 年的元旦干支为甲戌如再求 2004 年的元旦干支,已知 2004 年为闰年但其元旦干支的计算是在二月前,所以其不加 6,其方法仍按上述方法类推,天干甲的序数为 1,加 5 为 6,序数 6 在天干为己地支戌的序数为 11,加 5 为 16,为地支一轮余 4,序数 4 在地支为卯。
合之为己卯,所以 2004 年元旦干支为己卯如在求 2005 年元旦干支?其计算法就不同于 2004 年,因为 2005 年为闰年后的年份,此时 2004 年闰二月多出一天,所以应加 6,其计算为:已知 2004 年的元旦干支为己卯,天干己的序数为 6,加 6 为〔12〕一轮余 2,序数 2 在天干为乙地支卯的序数为 4,加 6 为 10,序数 10 在地支为酉合之为乙酉,所以 2005年的元旦干支为乙酉二、查表法:此表只适应于 1901~2100 年其具体应用是这样的,在这 200 年中其元旦干支是 80 年循环一周,如欲求 1901~2100 年内的元旦干支,只需要用所求之年除以 80,所得到的余数,查上表中的年余数,即可查出所求之年的元旦干支如以 2005 年为例,2005÷80=25…5由下表可以查出年余数 5 所对应的干支为乙酉,所以 2005 年的元旦干支为乙酉具体见表:1901~2060 年元旦干支表三、公式:〔有已知年求未来年〕〔1〕 所求元旦干序=已知年元旦干序+〔所求年-已知年〕×5+{〔所求年-已知年〕÷4〔取整数商、假设不能整除,余数中有闰年后的年份是再加 1〕}÷60 取整数商,〔大于 60 时用〔2〕 所求元旦支序=已知元旦支序+〔所求年-已知年〕×5+{〔所求年-已知年〕÷4〔取整数商,假设不能整除,余数中有闰年后的年份再加 1〕}÷60取整数商,〔大于 60 时用〕例如:已知 2000 年的元旦干支为戊午,求 2005 年的元旦干支?分析:已知 2004 年的元旦干支是戊午,天干戊的序数为 5,地支 午的序数为 7,代入上公式得:〔1〕所求元旦干序=5+〔05-00〕×5+{〔05-00〕÷4+1〔因 2005 年为 2004 年闰年之后的年份,所以再 1〕}÷60=322 为天干三轮余 2,序数 2 的天干为乙〔2〕所求元旦支序=7+〔05-00〕×5+{〔05-00〕÷4+1〔因 2005 年为 2004 年闰年之后的年份,所以再加 1〕}÷60=3434 为地支两轮余 10,序数 10 的地支为酉。
合之为乙酉,所以 2005年的元旦干支为乙酉〔2〕月数加减数:关于月数加减数的计算公式,亦有以下几种方法,现不妨一一列之于下1、以歌诀的形式:一五双减一 二六加零六 三减二加十 四减一加五 七零九加二八上一七走 十上加二八 冬三腊三九 闰从三月起 余数均加一2 、以列表的形式:日干支各月加减表月份 1 月 2 月 3 月 4 月 5 月 6 月 7 月 8 月 9 月 10 月 11 月 12 月干支干 支干 支干 支干 支干 支干 支 干 支 干 支 干 支干 支 干 支 干 支平年减 减 加 加 减 加 减 加 减 减 加 加 加 加 加 加 加 加 加 加 加 加 加 加 1 1 0 6 2 10 1 5 1 1 0 6 0 0 1 7 2 2 2 8 3 3 3 9闰年 0 0 0 0从 3 月份起,余数加 1分析:〔1〕一五双减一?即一月和五月的干支减去 1 个序数,如欲计算时一月和五月应减去1 个地支〔2〕闰从三月起,余数均加一?即遇闰年由于 2 月份多出了 1 天,为 29 天,所以计算时,从三月 起天干地支均加上一个干支既然元旦干支基数、月数加减数,我们都以明了,那么其计算便可轻而易举了。
例如:求阳历 2005 年 8 月 1 日的日干支?分析:已知 2005 年的元旦干支为乙酉,乙的天干序数为 2,酉的地支序数为 10,月数为八月,查上述月干支加减数表得天干加 1,地支加 7套入公式得: 求日干=〔2+1+1〕÷10=4 序数 4 在天干为丁求日支=〔10+1+7〕÷12=6 序数 4 在地支为巳合之为丁巳,所以阳历 2005 年 8 月 1 日的日干支为丁巳再如:2012 年 2 月 5 日的干支计算如下:日干:〔8+5+0〕÷10 余 3 即日干为:丙地支:〔10+5+6〕÷12 余 9 即日干为:申 则该日为:丙申日逐年推算元旦干支口诀欲推来年元旦日,先知今年日干支申子辰支年为闰,干加六位支冲支余年天干加五位,干冲退一便可知推算方法:“欲推来年元旦日,先知今年日干支推算来年元旦日的干支,必须先知道 今年元旦日的干支,并用大拇指在掌上定位申子辰干年为闰,干加六位支冲支凡年支 临申子辰的为闰年,2 月 29 天推算下一年元旦日的干支,只要大拇指从今年元旦日支位, 跳到相冲的地干支位上,而后天干顺加六位,便是来年元旦的干支余年天干加五位,干 冲退一便可知除申子辰年外,其它年干 2 月均为 28 天。
大拇指在掌上定好今年元旦日支 位置,推算来年元旦干支时,将大拇指跳到相冲之支退一位,天干加上五位,即是来年元旦 的干支。