由公历日推算日干支
(东方易 文)
从公元1601年起,以下公式都能计算出以任何一年的每月每日的日干支
天干=(5n+n/4-n/100+n/400+T+3)/10=。。。。。。取余数为日天干数(1为甲,2为乙,。。。10或0为癸)
地支=(5n+n/4-n/100+n/400+T+3)/12=。。。。。。取余数为日地支数(1为子,2为丑,。。。12或0为亥)
注 : (1)n=公历年份-1601
(2)n/4、n/100、n/400这三部分,当n小于除数时即该项须省略不计;大于除数时只取得的结果的整数,小数部分略而不计。5n与n/4中的n可取80倍数的余数部分。
(3)式中T为计算的日至该年1月1日的天数。取60的倍数的余数就可以了。
(3)平年二月份按28天计算,闰年的二月份按29天计算。
例如:计算公历1949年10月1日的干支
解:(1)n=公历年份-1601=1949-1601=348,(348/80=4余28。则n=28,这个n=28只能用于5n与n/4中计算;n/100、n/400中的n是用348)
(2)n/4=28/4=7,n/100=348=3.48取整数3;n/400=348/400因这项n小于除数即该项须省略不计
1月2月3月4月5月6月7月8月9月10月
T=31+28+31+30+31+30+31+31+30+1=-1+1+1+2+31=34
公式=(5n+n/4-n/100+n/400+T+3)=5*28+7-3+34+3=140+41=181可以取60的倍数的余数部分1
天干=(5n+n/4-n/100+n/400+T+3)/10=181/10=取余数为1,1为甲,所以日干为甲
地支=(5n+n/4-n/100+n/400+T+3)/12=181/12=取余数为1,1为子,所以日支为子
故公历1949年10月1日的干支为甲子日
以上计算方法看起来复杂,实际上是很简单的。
我们还可以在已知每年的1月1日的干支情况下,只用T部分就可推断全年任何一天的干支。假如某年1月1日
1
2
3 4
5
6
7 8
9
10 11 12
的干支是丙辰,公式可简化成
T/10=余数,日天干丙 丁
戊 己 庚
辛 壬 癸
甲 乙
T/12=余数,日地支 辰
巳 午 未
申 酉 戌
亥 子 丑
寅 卯
如求得某日天干的余数为6,则天干为辛;如求得地支余数是4,则地支为未;那么这天的干支就是辛未。
加载中,请稍候......