大家都知道,天干地支是中国传统的时间计时法,首先我们要确定:
十 天 干: 甲、乙、丙、丁、戊、己、庚、辛、壬、癸 对应的代号: 1. 2. 3. 4. 5. 6. 7. 8. 9.10,
十二地支: 子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥对应代号为 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.11.12,
下面分别是计算任意年月日时干支的最简便的方法,请大家验证使用,如有不对的地方,敬请同道讨论指正.
一、年干支计算法:
用年数减去3所得数字的尾数,对应的天干代号就是该年的年干。用这个差数除以12所得余数对应的地支代号就是这一年的地支。
二、月干支计算法:
知道年干后,月干的计算方法很简单:月干=年干代数x2+月数。对应的代号就是该月月干。超过10时,去掉10的倍数用其余数。月支是以正月起寅,依次类推……
三、日干支计算法:
用公历年月日计算任何一天的日干支公式:
G=5*(x+y)+x/4+y/4+(m+1)*3/5+d-3-x
说明:x为年份前2位数,y为年份后2位数,m为月数,d为日数。
口诀:年数从中分两边,乘5除4取整数。
月加1 后 3 下5, 日子还是多3天。
求得结果减前边,除10余数定天干。
Z=G+4x+10+i
说明:G为天干公式中的计算结果,x为年份前半部分(前边),i为一个变数--当月数是奇数时为“0”,当月数为偶数时为“6”。
口诀:日支跟着天干转,前边4倍 10再添。
1 月 2月续上年,i取0、6奇偶辨。
除以 12 求余数, 对应代号是地支。
对于以上公式中的分式(求商的式子)取其整数,1月和2月按上年的13月和14月计算,口诀中的前边指年份的前2位数字。
四、时干支的计算法1:
用日干求子时的时干公式 子时天干代数=2n-1 (n为日干代数)
知道了当日子时的天干,则依次类推便可推知任意时辰的干支了。
也可用口诀直接求得子时的天干:甲己还生甲,乙庚丙作初,丙辛生戊子,丁壬庚子头,戊癸起壬子
时干支的计算法2:
用日干求任意时干公式:任意时干代数=2n-2+c (n为日干代数,c为当天所求时辰的地支代数)
大家都知道,每日的12个时辰地支都是从子时开始的——只要求出地支对应的天干就能确定所求时辰的时干支了。
。具体例子大家自己验证吧.
大家要求举例子,现举例说明如下:
例一:2012年12月8日
1:求年干支--2012减去3等于2009,尾数9对应的天干是壬,2009除以12等于167余5,5对应的地支是辰,因此,2012年为壬辰年.
2:求月干支--首先确定年干为"壬",对应天干的代号是9;2012年12月8日对应的农历是2012年10月25日,我们知道,在求月天干地支时,都用的是节令月,而这个月的25日恰好是在大雪之后,所以,大雪日起就要算是农历的11月了,8号是11月的第3天(6号大雪,大家可查万年历).根据公式:月干=年干代数x2+月数
月干=9x2+11=18+11=29,29除以10得2余9,9对应的天干是"壬".从正月起寅,推至11月为"子",所以,所求的月干支是"壬子月".
3:求日干支--日干公式: G=5*(x+y)+x/4+y/4+(m+1)*3/5+d-3-x
把2012从中间分为两边,即20和12,也就是x=20,y=12,m=12,d=8,代入上式为G=5*(20+12)+20/4+12/4+(12+1)*3/5+8-3-20=160+5+3+7+8-3-20=160,160除10得15余10,10对应的天干代号是"癸".
说明:在公式中(12+1)*3/5=13*3/5=39/5=7....4,根据口诀"乘5除4取整数",所以只用7就行了.
日支公式:Z=G+4x+10+i.G=160,x=20,i=6(因12月为偶数,口诀:i取0、6奇偶辨)--代入上式为Z=160+4*20+10+6=160+80+10+6=256. 256除以12得21余4,4对应的地支代号是"卯".所以,2012年12月8号是"癸卯日".
4:求时干支--公式:时干代数=2n-1 (n为日干代数),上面刚求得日干为"癸"对应代数为10,所以n=10,代入上式,时干代数=2n-1=2*10-1=19,去了10的倍数得9,对应的天干代号为"壬",从子时起,时干支为壬子.类推下去就对了.呵呵,好算吧,查查万年历,准得很啊.
例二:求1967年2月10号,对应农历是1967年正月初2.求对应干支
1.年干--1967-3=1964,4对应"丁";年支--1964/12=163....8,8对应地支"未",1967年是 丁未年
2.月干--2*4+1=8+1=9,9对应的天干代号是"壬",正月起寅,因对应是农历正月,所以月支是 壬寅月
3.日干--G=5*(x+y)+x/4+y/4+(m+1)*3/5+d-3-x
x=19,y=66,m=14,d=10,代入上式得:G=5*(19+66)+19/4+66/4+(14+1)*3/5+10-3-19=5*85+4+16+15*3/5+10-3-19=442,
442除以10得44余2, 2对应的天干是"乙",
日支--Z=G+4x+10+i
G=442,x=19,i=6,代入上式得:Z=442+4*19+10+6=432+76+16=534,534除以12等于44余6, 6对应的地支代号是巳,求得地支是巳,所以,1967年2月10号的干支是"乙巳日". 余类推