发表时间: 2025-01-04 12:36
干支纪日从几千年开始至今,一直没有中断,纪日也没有错误,是一部了不起的历法。关于干支的一些基础知识需要牢牢掌握,因为它代表了中华传统文化中最复杂最深奥的部分,也是最有意思的内容之一。
上期我们介绍了干支序号及年份干支的推算,本期我们继续介绍月干支、日干支和时干支的推算,干货满满哦。
先上公式,后再解释:
月干=年干x2+月数,
超过10则减去10的倍数,0视作10,所得的余数就是天干的序数。
甲子年的正月是丙寅月,也就是说甲1对应丙3,按照这个对应关系推算下去,乙丑年的正月是戊寅,即乙2对应戊5;丙寅年的正月是庚寅,即丙3对应庚7……所以得出规律:每年正月的天干等于年干ⅹ2+1。知道了正月的天干,那每个月的天干也就知道了。
要注意,公元2017年5月12日(农历丁酉年四月十七)国家发布了《中华人民共和国国家标准GB/T33661—2017〈农历的编算和颁行〉》规定了干支纪年和生肖纪年起于正月初一0点。也就是说干支纪年不再是以立春为岁首,而是以农历正月初一为岁首。
地支=月份+2,
大于12则减去12,所得余数就是地支的序数。
地支有12个,我们现在的历法遵循的正月建寅,即农历一月是寅月,但在编制历法的过程中又往往是从子月开始,即把冬至作为历法的起算点。从寅月到子月,间隔两个月,所以月份需要+2。
例如要求2025年2月5日的月干支,
先求年干,利用上期学过的方法,(2025–3)÷10,余数为2,得出年干为乙;
月干=2ⅹ2+1=6,序数是5,所以天干为戊。注意,这里的月份为农历月份,公历2月5日是农历的正月初八,所以月份为1。
月支=1+2=3,序数是3,所以地支为寅。
综合月干与月支,则2025年2月5日的月干支为戊寅。
干支纪月中的天干与干支纪年中的天干有一定的联系。我们把六十甲子表稍微调整一下,把甲子和乙丑放到最后二位。你会发现,带“寅”的干支只有五个:丙寅、戊寅、庚寅、壬寅和甲寅。
比如:
第一年:甲子年,正月是丙寅,二月是丁卯……十二月是丁丑。
第二年:乙丑年,正月是戊寅,二月是己卯……十二月是己丑。
第三年:丙寅年,正月是庚寅,二月是辛卯……十二月是辛丑。
第四年:丁卯年,正月是壬寅,二月是癸卯……十二月是癸丑。
第五年:戊辰年,正月是甲寅,二月是乙卯,其它各月依次类推。
继续下去,到了第六年(己巳年),正月又是丙寅,二月又是丁卯……十二月又是丁丑。这正好说明,月干支又开始了新一轮的五年期循环。
网上有很多种方法,但大多不太准确。在这里给一个公式,比较准确,供小伙伴们参考:
天干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为世纪数减1,y为年份后两位数字,m是月份,d为日期,i为月份修正值(奇数月i=0,偶数月i=6),“[]”为取整运算。
如果先求得了天干g,那么
z=g+4c+10+i
g的个位数就是天干序数,z除以12的余数就是地支序数。这里需要注意的是:1月和2月是当做上一年的13月和14月来计算的,因此c和y也要按上一年的年份来取值。
这个公式是仿照蔡勒公式推导出来的,蔡勒公式是德国数学家克里斯提安·蔡勒提出的一种用于计算任意给定日期是星期几的算法,公式如下图所示:
感兴趣的小伙伴自己去试着推导一下,会有意外的惊喜哦。
举个例子吧,我们来推算一下2025年1月28日的日干支
因为1月要看作上一年的13月,所以2025年1月28日要看作是2024年13月28日来计算。
天干g =4ⅹ20+[20/4]+5ⅹ24+[24/4]+[3ⅹ(13+1)/5]+28–3
=80+5+120+6+8+28–3
=244
个位数是4,所以天干为丁。
地支z =244+4ⅹ20+10+0
=244+80+10
=334,
334÷12,余数是10,所以地支为酉。
综合天干与地支序数,则2025年1月28日为丁酉日,这一天是除夕日。
我们再来推算一下2025年1月29日的日干支
天干g =4ⅹ20+[20/4]+5ⅹ24+[24/4]+[3ⅹ(13+1)/5]+29–3
=80+5+120+6+8+29–3
=245,
个位数是5,所以天干为戊。
地支z =245+4ⅹ20+10+0
=245+90
=335,
335÷12,余数是11,所以地支为戌。
综合天干和地支的序数,则2025年1月29日为戊戌日,这一天是大年初一。
日干支推算起来是比较麻烦的,如果不习惯这个公式,那就自己动手查万年历吧。
同样方法很多,在网上一搜一大堆各种公式,在这里我们还是老老实实遵循古人总结的规律吧,那就是很有意思的“五鼠遁元”日上起时法。
古人把一昼夜分为十二个时辰,每一个时辰用一个地支来命名,所以十二时辰的地支是固定的。我们要推算时干支,只需要推算出时辰天干就可以啦。
在古代由于历书中都不标记干支纪时,于是人们根据干支日、时柱的出现规律做出了能快速获知干支纪时的推导口诀:
五鼠遁日起时诀
甲己还加甲,乙庚丙作初。
丙辛从戊起,丁壬庚子居。
戊癸何方觅,壬子是真途
在这里解释一下:
甲己还加甲—逢日干是甲或己的日子,子时的时干从甲上起。
乙庚丙作初—逢日干是乙或庚的日子,子时的时干从丙上起。
丙辛从戊起—逢日干是丙或辛的日子,子时的时干从戊上起。
丁壬庚子居—逢日干是丁或壬的日子,子时的时干从庚上起。
戊癸起壬子—逢日干是戊或癸的日子,子时的时干从壬上起
“五鼠”指的是六十甲子中地支为“子”的五个甲子:甲子、丙子、戊子、庚子、壬子,子为子时,子为鼠嘛。
举个例子吧,我们来推算一下2025年1月28日20点的年月日时干支。
第一步:求年干支。(2025–3)÷10,余数是2,得天干为乙;(2025–3)÷12,余数是6,得地支为巳,则年干支为乙巳。但要注意的是,1月29是农历正月初一,也就是说1月29日0点之前仍然是甲辰龙年,1月29日0点后才是乙巳蛇年。所以1月28日年干支还是甲辰。
第二步:求月干支。公历1月28日是农历12月29日,年干为1,所以1ⅹ2+12=14,减去10,余数是4,得天干为丁;12+2=14,减去12,余数是2,得地支为丑,则月干支为丁丑。
第三步:求日干支。上文已经推算过了,我们直接拿来用,则1月28日月干支为丁酉。
第四步:求时干支。丁酉日这一天的天干是丁,根据口诀“丁壬庚子居”,逢日干是“丁”或“壬”的日子,这一天子时的时干从庚上起,即子时的时干是“庚”,也就是说子时的干支为庚子。20点对应戌时,查五鼠遁日起时表,从子时数到戌时,对应的是从庚子数到庚戌。
所以2025年1月28日20点为甲辰年、丁丑月、丁酉日、庚戌时。