问:对于学习八字的学者,年干支的计算可以很简单的推出来,月干支也只需要用五虎遁诀就可以;时辰的也可以通过五鼠遁来遁出。但是日干支却是一个缺口,如果不通过万年历,难道没有办法很快的推算出来了吗?如果有,公式是什么?如何计算?
杨易德:一般来说,明眼人的日干支大多是通过万年历或者软件排盘来查出;很少有人用手推;而有些日干支的推算据说是瞎子才用的,比如流星赶月一掌经。除此之外,我们也可以通过数学的办法来推算出日干支,只是比较繁琐,公式如下:
公元纪日换算成干支纪日公式:
G = 4C + [C / 4] + 5y + [y / 4] + [3 * (M + 1) / 5] + d - 3
Z = 8C + [C / 4] + 5y + [y / 4] + [3 * (M + 1) / 5] + d + 7 + i
其中 C 是世纪数减一,y 是年份后两位(若为1月、2月则当前年份减一),M 是月份(若为1月、2月则分别按13、14来计算),d 是日数。奇数月i=0,偶数月i=6。
G 除以10的余数是天干,Z 除以12的余数是地支。
计算时带[ ]的数表示舍去小数点后的数字取整。
例1:如查2011年1月18日干支日。 将数值代入计算公式。
G =4*(21-1) + [20 / 4] + 5*10 + [10 / 4] + [3 * (13 + 1) / 5] + 18 - 3 =160
除以10 余数为0 ,天干的第10位是‘癸’。
Z =8*20 + [20 / 4] + 5*10 + [10 / 4] + [3 * (13 + 1) / 5] + 18 + 7 + 0 =250
除以12 余数为 10 ,地支的第10位是‘酉’。
答案是: 2011年1月18日干支日是癸酉日。
例2:查2006年4月1日的干支日。 将数值代入计算公式。
G =4*20 + [20 / 4] + 5*06 + [06 / 4] + [3 * (4 + 1) / 5] + 1 - 3 =117
除以10 余数为 7 ,天干的第7位是‘庚’。
Z =8*20 + [20 / 4] + 5*06 + [06 / 4] + [3 * (4 + 1) / 5] + 1 + 7 + 6 =213
除以12 余数为 9 ,地支的第9位是‘申’。
答案是:2006年4月1日的干支日是庚申日。
更多案例示范以及更多日干支推算技巧参见:不用万年历速排出日干支的数学公式。