最简单的办法就是采用国家有关单位出版的标准万年历,上面均标有详细的当年干支。或者在百度上输入年月日查干支即可。
六十甲子干支序数的求法:
六十甲子干支次序表
我国用干支纪年的历史是很悠久的。与公元相比较,公元4年的干支正是甲子年。因而将公元年数减去3,再除以60(六十甲子周转数),其余数即为所求年数的干支序数。如:2000年干支序数的求法为2000—3=1997,除以60得余数17,查干支序数(干支序数见前述“六十甲子干支次序”)为“庚辰”,则2000年的干支为庚辰。
例:2024年,2024-3=2021÷60,余数为41,甲辰,(不能用计算器,手工列算可以看到余数)
天干序号
甲——1;乙——2;丙——3;丁——4;戊——5;己——6;庚——7;辛——8;壬——9;癸——10。
地支序号
子——1;丑——2;寅——3;卯——4;辰——5;巳——6;午——7;未——8;申——9;酉——10;
戌——11;亥——12。
年干公式
年数(即公元年末位数)一3一年干的代数(即年干序号,以下同)。即以出生年的尾数减3,余几,就是十天干顺次序号的第几位,余1即是甲,余2即是乙……余类推。求年干时,如年干末位数不够减3,则借10;
注:此公式适用于任何年代的天干推算。
(1900 ——2100)年干公式:年干=年尾数-3
例:1969年年干=9-3=6,第6位天干就是“己”。
2012年年干=2-3=9,第9位天干是“壬”。(2不足减就补10成12)
2024年,年干=4-3=1,甲
总之,求生年天干的方法,就是一个公式:生年的尾数减3,余几位即是十天干顺序的第几个。如逢0、1、2不够减时,可从10位数假借10加生年尾数再减3,余几即是十天干的第几位。
公元后任何年代:公元年末位数-3=年干,负数则加10;公元前任何年代:公元年末位数+8=年干(公式揭密:因为公元3年为癸亥年,而天干又是逢10一循环。公元4年天干是甲,而4-3=1。由于没有公元0年,所以公元前的天干为末位数-3+1,再+10转为正数)
年支公式:
(按不同世纪推算):
十九世纪(即1800~1899年)地支推算公式。公元年末二位数,即年支的代数(年支序号,下同);
二十世纪(即1900~1999年)地支推算公式。公元年末二位数+1,即是年支的代数;
二十一世纪(即2000~2099年)地支推算公式。公元年末二位数+5,即是年支的代数。
即以出生年的末两位数,按不同世纪+9或+1、+5,和数为几,就按地支顺次查第几位序号,余1即是子,余2即是丑,余3即是寅……求年支时,如年支数超过12,则需递减12,取12(含12)以下的余数。数大于12数,故需递减12,取小于12(含12)以下的余数。
公元年末二位数+9=年支(适用于1800—1899 年);
公元年末二位数+1=年支(适用于1900—1999 年);
公元年末二位数+5=年支(适用于2000—2099 年);
例:
1969年,年支=69+1=70,(70-60=10)去掉60的倍数为10,地支第十位为“酉”。
2012年,年支=12+5=17,(17-12=5)去掉12余5,地支第五位是“辰”。
2024年,年支=24+5=29,(29-12=17-12=5),辰
那么1969年干支就是己酉;2012年干支就是壬辰。2024年为:甲辰
推算年地支:
公元后任何年代:(公元年数-3)÷12,得余数0-11为年支,负数则加12,0视作12;
公元前任何年代:(公元年数-2)÷12,余数-11-0为年支,加12转为正数,0视作12(公式揭密:类似前述)
注:年干支是以立春为界,而不是以春节为界的。如1964年阳历2月4日的阴历为十二月二十一,仍为癸卯年;但1964年阳历2月5日的阴历虽为十二月二十二,而此日已立春,宜做甲辰年。
例一:求公元前7的年柱干支:年干=-7+8=1,即甲;年支=(-7-2)÷12=-9,加12转为正数3,即寅。故公元前7年是甲寅年。
例二:求2000年的年柱干支 :年干=末位数0-3=-3,加10=7,即庚。 年支=00+5=5,即辰。 故2000年是庚辰年。
例三:求1999年的年柱干支 :年干=末位数9-3=6,即己;年支=末二位数99+1=100减去8个12后余4,即卯。故1999年是己卯年。
注:我们所说的某个阳历年份对应的阴历干支,是该年大部分时间与其对应,而不是完全重合的。
闰年的求法
每个世纪共有25个闰年,民间简捷记闰方法是:凡逢申、子、辰为闰年。
求何年为闰年,最简单的方法,是用4去除公元数,凡能用4整除尽者为闰年,除不尽者为平年。由于地球绕太阳公转一周时所需的时问为365天5时48分46秒,那么积4年的零余则为1天,所以闰年的二月份也就比其他月份多出了一天。理解了这个道理,就明白这四年一闰的道理了。
但需注意的是,每100年停闰,至第400年又不停闰。这是因为4年加一天又多了44分56秒,积满128年左右就又多了一天,也就是说,在400年中约多算了3天。因此,按每100年停闰,至第400年又不停闰的这种方法计算,就巧妙地在400年中减去了3天,防止了误差。这种推算方法,是从1912年开始使用的。
月干推算
月干支最为常叫的称呼为“月令”。月令在日干诊病法中是至关重要的,任何干支的旺衰都是以月令为基础来进行衡量的。月令的令,即司令之意,在日干诊病法中也称提纲。从这些名称中我们就应该知道月令的重要性。
五虎遁年上起月法:
甲己之年丙作首,乙庚之岁戊为头,逢年干是甲或己的年份,正月的月干从丙上起;逢年干是乙或庚的年份,正月的月干从戊上起;甲己合士,火生士,所以为丙。乙庚化金,土生金,所以为戊。
丙辛之位从庚上,丁壬壬位顺行流,逢年干是丙或辛的年份,正月的月干从庚上起;逢年干是丁或壬的年份,正月的月干从王上起;丙辛合水,金生水,所以为庚。丁壬合木,水生木,所以为壬。
戊癸之年何方法,甲寅之上好追求。逢年干是戊或癸的年份,正月的月干从甲上起,戊癸合火,木生火,所以为甲。
计算月干:月干要根据年干来定,农历正月(寅月)的月干通常和年干一样,其他月份的月干则有特定规则。
公式是:年干×2+月数(农历月份,正月为1)后减1,再对10取余数,余数对应的天干就是月干如果余数为0,那就是天干中的最后一个“癸”。(此处存在减一存争议)
年干x2+月数=月干,超过10则减去10的倍数到0-9,0视作10)(公式揭密:由于甲子年的正月是丙寅月,即甲1对应丙3,推算下去,乙丑年的正月是戊寅,即乙2对应戊5,再下去是丙3对应庚7,正好每年正月的天干为年干x2+1)
月支推算
月支是固定的,日干诊病法,在使用干支纪月时,一年中每一个月是以二十四个节气中的十二个“节”为界线来划分的,而不是以“气”来划分。立春是一月,地支为寅;惊蛰是二月,地支为卯;清明是三月,地支为辰;立夏是四月,地支为巳;芒种是五月,地支为午;小暑是六月,地支为未;立秋是七月,地支为申;白露是八月,地支为酉;寒露是九月,地支为戌;立冬是十月,地支为亥;大雪是十一月,地支为子;小寒是十二月,地支为丑。
月支表
阴历月支是固定不变的,自商代历法开始,将每年的第一个月的地支定为寅,称为“正月建寅”,以后各月按地支顺序类推。
正月天干的计算方法为:若:遇上甲或己的年,正月是丙寅;遇上乙或庚之年,正月为戊寅;遇上丙或辛之年,正月为庚寅;遇上丁或壬之年,正月为壬寅;遇上戊或癸之年,正月为甲寅。依照正月之干支,其余月份按干支推算即可。
正月为寅(从立春当天到惊蛰前一天),二月为卯(从惊蛰当天到清明前一天),
三月为辰(从清明当天到立夏前一天),四月为巳(从立夏当天到芒种前一天),
五月为午(从芒种当天到小暑前一天),六月为未(从小暑当天到立秋前一天),
七月为申(从立秋当天到白露前一天),八月为酉(从白露当天到寒露前一天),
九月为戌(从寒露当天到立冬前一天),十月为亥(从立冬当天到大雪前一天),
十一月为子(从大雪当天到小寒前一天),十二月为丑(从小寒当天到立春前一天)。
注意:月干支是以节令为准,不是以农历每月初一为分界线,交节前为上个月的节令,交节后为下个月的节令。所以我们所说的某个阴历年份对应的干支,是该月大部分时间与其对应,而不是完全重合的。
例一:2008年阳历2月3日的月柱干支:此日阴历为十二月二十七,且还未立春,年干支应算做2007年的干支丁亥 。年干丁4x2+月数12=20,再减10=10,即癸;此日还未立春,地支为丑;故2008年阳历2月3日(阴历十二月二十七)的月柱干支为癸丑。
例二:2008年阳历2月4日的月柱干支:此日阴历虽为十二月二十八,但正好立春,年干支应做2008年的戊子,月数应为1,而不是12。年干戊5x2+月数1=11,再减去10=1,即甲;地支为寅;故2008年阳历2月4日(阴历十二月二十八)的月柱干支为甲寅。
推算日柱干支法
公元2000年元旦是戊午日,欲求任何一天的日干支,皆可以此天为参考。即计算出欲求当天与2000年元旦相距总天数,假设相距总天数为A。则公元2000后某天的日干支求算方法如下:
(A-5)÷10,取余数0-9即为日干;
(A-5)÷12,取余数0-11即为日支。
详细计算公式
1、计算某年某月某日期的干支,需要区分平年和闰年。一般情况下,平年2月为28天,闰年2月为29天。
2、计算平年日干支的公式,区分到月,公式得出的结果的余数个位数对应日天干,余数除以12得出的新余数对应日地支。
天干:1甲、2乙、3丙、4丁、5戊、6己、7庚、8辛、9壬和0癸。
地支:1子、2丑、3寅、4卯、5辰、6巳、7午、8未、9申、10酉、11戌、0亥。
1)奇数月,计算日干支
1月 【(年份-1900)×5+(年份-1900)÷4+9+当日日期数值+1】÷60
比方说,2023年1月1日,日干支利用公式计算:
【(2023-1900)×5+(2023-1900)÷4+9+1+1】÷60=(123×5+123÷4+11)÷60=656÷60=10余56
余数56的个位数6对应日天干为己,
余数56÷12=4余8 ,余数8对应日地支为未。
所以2023年1月1日的日干支为己未。
3月 【(年份-1900)×5+(年份-1900)÷4+9+当日日期数值】÷60
比方说,2023年3月1日,日干支利用公式计算:
【(2023-1900)×5+(2023-1900)÷4+9+1】÷60=(123×5+123÷4+10)÷60=655÷60=10余55
余数55的个位数5对应日天干为戊,
余数55÷12=4余7 ,余数8对应日地支为午。
所以2023年3月1日的日干支为戊午。
5月 【(年份-1900)×5+(年份-1900)÷4+9+当日日期数值+1】÷60
7月 【(年份-1900)×5+(年份-1900)÷4+9+当日日期数值+2】÷60
9月 【(年份-1900)×5+(年份-1900)÷4+9+当日日期数值+4】÷60
11月 【(年份-1900)×5+(年份-1900)÷4+9+当日日期数值+5】÷60
2)偶数月,计算日干支
2月 【(年份-1900)×5+(年份-1900)÷4+9+当日日期数值+30+2】÷60
比方说,2023年2月1日,日干支利用公式计算:
【(2023-1900)×5+(2023-1900)÷4+9+1+30+2】÷60=(123×5+123÷4+10+32)÷60=687÷60=11余27
余数27的个位数7对应日天干为庚,
余数27÷12=2余3 ,余数3对应日地支为寅。
所以2023年2月1日的日干支为戊午。
4月 【(年份-1900)×5+(年份-1900)÷4+9+当日日期数值+30+1】÷60
比方说,2023年4月1日,日干支利用公式计算:
【(2023-1900)×5+(2023-1900)÷4+9+1+30+1】÷60=(123×5+123÷4+10+31)÷60=686÷60=11余26
余数26的个位数6对应日天干为己,
余数26÷12=4余2 ,余数2对应日地支为丑。
所以2023年4月1日的日干支为己丑。
6月 【(年份-1900)×5+(年份-1900)÷4+9+当日日期数值+30+2】÷60
8月 【(年份-1900)×5+(年份-1900)÷4+9+当日日期数值+30+3】÷60
10月 【(年份-1900)×5+(年份-1900)÷4+9+当日日期数值+30+4】÷60
12月 【(年份-1900)×5+(年份-1900)÷4+9+当日日期数值+30+5】÷60
3、计算闰年日干支的公式,“一二月减一”区分到月,公式得出的结果的余数个位数对应日天干,余数除以12得出的新余数对应日地支:
1)奇数月,计算日干支
1月 【(年份-1900)×5+(年份-1900)÷4+9+当日日期数值】÷60
比方说,2024年1月1日,日干支利用公式计算:
【(2024-1900)×5+(2024-1900)÷4+9+1】÷60=(124×5+124÷4+10)÷60=661÷60=11余1
余数1的个位数1对应日天干为甲,
余数1÷12=0余1 ,余数1对应日地支为子。
所以2024年1月1日的日干支为甲子。
3月 【(年份-1900)×5+(年份-1900)÷4+9+当日日期数值】÷60
比方说,2024年3月1日,日干支利用公式计算:
【(2024-1900)×5+(2024-1900)÷4+9+1】÷60=(124×5+124÷4+10)÷60=661÷60=11余1
余数1的个位数1对应日天干为甲,
余数1÷12=0余1 ,余数1对应日地支为子。
所以2024年3月1日的日干支为甲子。
5月 【(年份-1900)×5+(年份-1900)÷4+9+当日日期数值+1】÷60
7月 【(年份-1900)×5+(年份-1900)÷4+9+当日日期数值+2】÷60
9月 【(年份-1900)×5+(年份-1900)÷4+9+当日日期数值+4】÷60
11月 【(年份-1900)×5+(年份-1900)÷4+9+当日日期数值+5】÷60
2)偶数月,计算日干支
2月 【(年份-1900)×5+(年份-1900)÷4+9+当日日期数值+30+1】÷60
比方说,2024年2月1日,日干支利用公式计算:
【(2024-1900)×5+(2024-1900)÷4+9+1+30+1】÷60=(124×5+124÷4+10+31)÷60=692÷60=11余32
余数32的个位数2对应日天干为乙,
余数32÷12=2余8 ,余数1对应日地支为未。
所以2024年2月1日的日干支为乙未。
4月 【(年份-1900)×5+(年份-1900)÷4+9+当日日期数值+30+1】÷60
比方说,2024年4月1日,日干支利用公式计算:
【(2024-1900)×5+(2024-1900)÷4+9+1+30+1】÷60=(124×5+124÷4+10+31)÷60=692÷60=11余32
余数32的个位数2对应日天干为乙,
余数32÷12=2余8 ,余数1对应日地支为未。
所以2024年4月1日的日干支为乙未。
6月 【(年份-1900)×5+(年份-1900)÷4+9+当日日期数值+30+2】÷60
8月 【(年份-1900)×5+(年份-1900)÷4+9+当日日期数值+30+3】÷60
10月 【(年份-1900)×5+(年份-1900)÷4+9+当日日期数值+30+4】÷60
12月 【(年份-1900)×5+(年份-1900)÷4+9+当日日期数值+30+5】÷60
时辰的天干推算口诀:
时干=日干×2+时支-2
(因为天干有十个,所以计算出来的数字如果大于10,就要减去10)
例如;2020年12月12日的日柱为己丑,己对应数字6。那现在推算时辰,知道某人出生在12日下午13:30,13点到15点之间的地支为未时,未对应数字8。套用公式,时天干=日天干×2+时地支-2=6×2+8-2=18-10=8,8对应天干辛,所以此人出生的时辰干支为辛未,加上日柱,就是己丑日辛未时。
2024年10月22日(甲辰,甲戌,己未,己为6)上午十点半为巳时(6),时天干=日天干×2+时地支-2=6×2+6-2=16-10=6,对应的天干时己,故时干支为:己巳
时天干所需对应的数字如图:
天干地支对应数字表
“日上起时法”
干支纪时是以十二时辰为标准的,而十二时辰的地支是固定的,即23-1点为子时,1-3点为丑时,3-5点为寅时,5-7点为卯时,7-9点为辰时,9-11点为巳时,11-13点为午时,未时、申时、酉时、戌时、亥时。因此,时干支即时辰干支的推算和月干支一样,只要求出时干就可以了,其推算方法前人也总结一首歌诀,叫“五子遁元”或“五鼠遁元”歌:
甲己还加甲,乙庚丙作初;
丙辛从戊起,丁壬庚子居;
戊癸何方法,壬子是真途;
就是说日天干是甲或己的,子时为甲子时,丑时为乙丑时,寅时为丙寅时,卯时为丁卯时,辰时为戊辰时,巳时为己巳时,午时为庚午时,未时为辛未时,申时为壬申时,酉时为癸酉时,戌时为甲戌时,亥时为乙亥时。
日天干是乙或庚的,子时为丙子时。日天干是丙或辛的,子时为戊子时。子时的干支知道了,一下便可以顺推。因其是据日干推子时,从而得知各时辰干支。
参考文献
干支快速推算法, 初夏自然 2017-03-19
如何准确推算年干支的简单方法,国学小客堂,2023-06-18大道家园
纯干货!教你快速推算年月日时干支
易学:详解如何计算日期的天干地支?爱健身读书的小鹿姐姐2023-11-23