干支纪年算法
㈠ 干支纪年法如何计算
1、根据是公元元年是辛酉年,辛8酉10,干的周期为10支的周期为12。
天干按甲到癸的顺序为1~10,地支的顺序按子到亥的顺序为1~12。
2、公元前的算法:
年干=8-N(N﹤8)或8-N+10(N≧8),N=年号除以10的余数=年号个位数。
年支=10-N(N<10)或10-N+12(N≧10),N=年号除以12的余数。
例:求公元前22年和公元前159年的干支?
解:前22的年干=8-2=6=己,前159年的年干=8-9+10=9=壬;
前22的年支=10-10+12=12=亥,前159年的年支=10-3=7=午;
故前22年的干支为己亥,前159年的干支为壬午。
纪年的起点:
东汉初期,光武帝刘秀时期民间已使用干支纪年。延至汉章帝元和二年(公元85年)干支纪年被以政府命令的形式颁行于全国。尔后各朝各代,实行年号纪年之外,并以干支法作为纪年,沿行不废。
中国先秦素有“改正朔”的传统,即皇帝以颁令的形式决定岁首。
先秦三代有改正朔之传统,夏以建寅为正,商以建丑为正,周以建子为正,秦统一天下后,继承此传统,以建亥(十月)为始。
㈡ 求天干地支纪年纪月纪日的换算公式。
▲天干地支纪年与公历的近似换算
从已知的公历年份计算干支纪年:年份数减3,除以10的余数是天干,除以12的余数是地支。(公元前的年份则用58-“年份数除以60的余数”后计算)
也可以天干:年份÷10,得到的商不管,看余数,若余数-3得正,则按天干顺序往下数,得数即为天干顺序数,若余数-3为负,则+10,得到的数即为天干数,若余数为3,则为天干的最后一位,即癸。
地支:年份÷12,得到的商不管,看余数,若余数-3得正,则按地支顺序往下数,得数即为地支顺序数。若余数-3为负,则+12,得到的数即为地支顺序数,若余数为3,则为地支的最后一位,即亥。
把天干数和地支数合并起来,即为所求的干支年份。
如:2001年查万年历为辛巳年,算法为:
2001÷10=200……1,1—3=—2,—2+10=8,按天干顺序数到8,甲、乙、丙、丁、戊、己、庚、辛。第8位为辛。
2001÷12=166……9,9—3=6,按地支顺序数到6,子、丑、寅、卯、辰、巳。第6位为巳。
按照以上计算结果,把天干、地支合并起来可知,2001年为辛巳年。
▲干支纪年与格里历的换算
若我们把天干的甲、乙、...、壬、癸编上 0、 ......、8、9 等序号;地支的子、丑、...、戌、亥亦编上 0、1、 ......、10、11 等序号,那么:
从已知的格里历年份计算干支纪年:年份数减4,除以10的余数是天干,除以12的余数是地支。例如:
(1972 - 4)÷ 10 ≡ 8,所以天干是“壬”;
(1972 - 4)÷12 ≡ 0,所以地支是“子”。
附:已知天干地支,如何得到当前是60年中的第几年 (杨霖坤 编程)。
X=天干 Y=地支
if x - y >= 0 then
z = 6x - 5y;
else
z = 6x - 5y + 60;
排出60甲子序列,将自己的虚龄生年放入其中,逆数上行即可找到相对公元年的干支是什么了。或者比照当年或上年的干支,也能找出相应的你所需要的干支来。如你是1987年7月生人,只知道今年是兔年(丁卯)不知道87年是什么干支,
1. 甲子 2.乙丑 3.丙寅 4.丁卯 5.戊辰 6.己巳 7.庚午 8.辛未 9.壬申 10.癸酉
11.甲戌 12.乙亥 13.丙子 14.丁丑 15.戊寅 16.己卯 17.庚辰 18.辛巳 19.壬午 20.癸未
21.甲申 22.乙酉 23.丙戌 24.丁亥 25.戊子 26.己丑 27.庚寅 28.辛卯 29.壬辰 30.癸巳
31.甲午 32.乙未 33.丙申 34.丁酉 35.戊戌 36.己亥 37.庚子 38.辛丑 39.壬寅 40.癸卯
41.甲辰 42.乙巳 43.丙午 44.丁未 45.戊申 46.己酉 47.庚戌 48.辛亥 49.壬子 50.癸丑
51.甲寅 52.乙卯 53.丙辰 54.丁巳 55.戊午 56.己未 57.庚申 58.辛酉 59.壬戌 60.癸亥
排月柱
月柱的天干和地支排法在各类命书中都有这样的口诀:
甲己之年丙作首,
乙庚之岁戊为头,
丙辛岁首寻庚起,
丁壬壬位顺行流,
若言戊癸何方发,
甲寅之上好追求。
这 歌诀也称《五虎遁年上起月歌》。至于何为“五虎遁”这里就不展开讲了,有兴趣的朋友找到相关命理书看一下便知。这歌诀的意思是:年干逢甲或己,则该年的月 份天干地支就以正月是丙寅排起,依次为二月丁卯,三月戊辰,四月己已……这样依次排到十二月;年干是乙、庚的则以戊寅为一月起始;年干是丙辛的,则以庚寅 起始;年干为丁、壬的则以壬寅为一月;年干为戊、癸则以甲寅起为一月。其余月份均可顺序推得。注意:论月份干支,地支始终是不变的,即一月为寅、二月为 卯、三月为辰、四月为已、五月为午、六月为未、七月为申、八月为酉、九月为戌,十月为亥,十一月为子,十二月为丑。这是永远不变的。变的只是天干,随着年 柱的天干之变而变。
这里,我们已看到了十二地支的两个作用:一是用来表示年份,它与生肖相对应:子为鼠、丑为牛、寅为虎、卯为兔、辰为龙、已为蛇、午为马、未为羊、申为猴、酉为鸡、戌为狗、亥为猪。二是用来表示月份,如前所说。
流星赶月排日柱
推算日干支,可以按公历和农历两种方法推算。
⑴ 农历日干支推算口诀:
大小月卦记心间,正一干支起根源。
大后干同地支冲,小后干支退一天。
初一十三二十五,支同隔干一位算。
推算方法:“大小月卦记心间,正一干支起根源。”农历的大月为30天小月为29天,固定不变。要推农历曰干支,先要按《农历大小月卦口诀》将推算之年编上两卦,以便在推算日千支时运。除此之外,还要记住农历正月初一日的干支,因为它是推算一年逐日的基础。“大后干同地支冲,小后干支退一天。”农历天干与地支组合,天干循环2.5次。根据这一规律,知道某月初一日干支,如果这个月是小月则应在干同支冲的情况下,干支各减一位,则是小月后下月初一日干支。如本月初一干支为己卯,这个月是大月,下月初一干支为己酉。如果这个月是小月,则下月初一干支应在己酉退一位后确定,即为戊申日。“初一十三二十五,支同干隔一位算。”此两句是在确定某月初一干支后,将这个月分成三个阶段,即初一至十二,十三至二十四二十五以后。初一、十三、二十五日在干支上也是有规律的。知道初一干支,只要将该日天干隔一位顺推,而地支不变。同理,知道十三日干支,支同干隔一位,也知道二十五日的干支。如初一日干支为甲子,则十三日干支为丙子,二十五日干支为戊子。掌握这个方法,就可以根据所推之日属于哪一段,便可以很快知道这天的干支了。
⑵公历日干支推算口诀:
元旦干支为根源,大小二月记心间。
小月干同地支冲,大月上句加一天。
申子辰年年为闰,干同支冲退一天。
余年二月二十八,干同支冲退一天。
月首十三二十五,支同隔干一位算。
推算方法:“元旦干支为根源,大小二月记心间。”推算公历日干支,首先要记住元旦曰的干支。同时,还要知道大小月及二月的天数。公历大月为31天,小月为30天,其大小月是固定不变的,唯独二月有29天和28天之分。因此,要特别注意哪年二月为29天,那年二月为28天。“小月干同地支冲,大月上句加一天。”公历小月为30天,按农历大月推算口诀,我们知道本月初一日干支,与下月初一干支则是天干相同地支相冲。公历大月为31天,在小月干地相冲的基础上,干支各加一位数,即是大月后下月一日的干支。“申子辰年年为闰,干同支冲退一天。”经过研究,发现凡地支为申、子、辰的年为公历闰年,二月为29天。在推算3月1日干支时,可按农历小月后的日干支推算方法,即在干同地干冲的基础上,干支各减一位,则为3月丨日干支。“余年二月二十八,干同干冲退二天。”除地干为申子辰年二月29天,其它年二月均为28天。在知道2月1日干支后,按干同支冲规律,干支各减二位便是3月1日的干支。“月首十三二十五,支同隔干一位算。”月首,代表每月第1日。其推法与农历日干干诀后两句相同。
㈢ 天干地支万能计算公式是什么
干支纪年法简便算法公式
10天干:甲乙丙丁戊己庚辛壬癸。
12地支:子丑寅卯辰巳午未申酉戌亥。
天干地支纪年法计算的万能公式:
天干计算法:年减去3再除以10得到的余数对应的天干字就是干。
地支计算法:年减去3再除以12得到的余数对应的地支字就是支。
1、1900----2100年之年干:年尾数-3。
例:1969年年干=9—3=6,第6位天干就是已。
2012年年干=2-3=9,第9位天干是壬(2不足减就补十成12)。
2、1900----1999年之年支:年尾二位数+1;2000----2099年之年支:年尾二位数+5。
例:1969年年支=69+1=70,去掉60的倍数为10,地支第十位为酉;2012年年支=12+5=17,去掉12余5,地支第五位是辰;那么1969年干支就是已酉2012年干支就是壬辰。
3、月干公式,月的地支是固定的如正月起寅之类,只计算月干。
月干=年干数×2+月份。
例:1969年(已酉)年八月(酉月)的天干=6×2+8=20,天干10为周期就去掉10,天干第十位为癸,则此月干支为癸酉。
4、日干支公式:
1900----1999年日干支基数=(年尾二位数+3)×5+55+(年尾二位数-1)/4。
2000----2099年日干支基数=(年尾二位数+7)×5+15+(年尾二位数+19)/4(只用商数,余数不用,数过60就去掉60)。