要推算干支必须要知道天干、地支的排序。
十个天干排序:
①甲、②乙、③丙、④丁、⑤戊、⑥己、⑦庚、⑧辛、⑨壬⑩癸。
十二个地支排序:
①子(鼠)、②丑(牛)、③寅(虎)、④卯(兔)、⑤辰(龙)、⑥巳(蛇)、⑦午(马)、⑧未(羊)、⑨申(猴)、⑩酉(鸡)、11戌(犬)、12亥(猪)。
年的干支组合60年一轮回,称为一甲子。为什么是60年一轮回呢?因为10个天干与12个地支的最小公倍数是60。我的解释是因为天干与地支数相差为2,按序数组合时,天干的5个奇数只能地支的6个奇数组合,即只能是天干的①甲、③丙、⑤戊、⑦庚、⑨壬与天支的①子、③寅、⑤辰、⑦午、⑨申、11戌组合,共有5X6=30种组合,如有甲午(①⑦)年,绝不可能有甲末(①⑧)年,也不可能有乙午(②⑦)年。同理天干的5个偶数只能与6个地支的偶数组合也是30种,故合起来为60种,列表如下:
一、干支与公元年的互推
1.由公元纪年推算干支纪年,其方法是用公元纪年数减3,其年数的个位数就是干支纪年天干对应的序号,若个位是0可看作序号为10(对应天干的癸)。年的地支也是公元年数减3,再除以12后的余数,即为地支对应的序号,若正好整除即余数为零可看作12(对应的地支为亥)。为什么要减3呢?因为公元0004年是甲子年,减3后是甲子年的起始。
举例,闹义和团那年是1900年,对应的是庚子,1900-3=
1897年,个位7对应的天干就是庚;1860年是60(也是12)的整数倍,(1897-1860)÷12=37÷12余数是1(或1897÷12余1),对应的地支为子,故1900年为庚子年。
2.由干支推公元纪年,是前者的逆推算。举例说明,中日甲午海战icon,甲序数icon为1,加3为4,则那年公元年数除10的余数为4,公元年的个位是4;地支午是7,加3为10,即那年公元年数除12余数为10。既要满足个位是4又有满足除12余10,则那年纪年数为60的整倍,再加上12的倍数icon与10之和,即为60n+12m+10,为使纪年的个位数是4,再结合是大清icon末年,所以那年是:60×31+12×2+10=
1894年。
如不明白再以戊戌变法icon年为例,戊的序数为5,5加3为8,那年公元年个位数是8;戌是11加3为14,除12余2。既要满足个位是8,又要除12余2,则那年应60×31(1860)+12X3+
2=1898年。
二、干支纪年月的干支
月的干支是60个月一轮回。
月的地支是固定的,一年12个月与12地支刚好对应,正月是地支寅(古人根据初昏时北斗七星icon斗柄所指的方向来决定月份,斗柄指寅位时为正月,这就是“正月建寅”),而寅的序号为3,所以月的地支序号是月份数加2。如4月4+2为6,4月的地支为⑥巳。
月的天干是年的天干数乘以2,再加上月份数之和除以10的余数,为月的天干序号。
举例,甲辰年的2024年2月4号是立春日,立春日是干支历2024年的正月初一。年的天干甲的序号是1,乘2加月份数1为3,3对应的天干为丙,所以公元历2月4号立春到3月惊蛰前,是干支历2024年一月丙寅月。
月的天干序数为什么要用年的天干序数乘2呢?是为了修正旧、新年交替时,月数的不连续。因为12月的月数12,相对于以10为一循环的天干数,有效数字是2,而新年第一个月的月数为1,比十二月的月数2(12)还少1。按天干排序新年的1月,确定天干的序数应比上年十二月多1才符合规律,如上一年12月天干是丁④或是壬⑨,则新年1月份的天干应是戊⑤或癸⑩。而仅以月份数论,新年1月的月份数比确定月干序数的要求少2。恰巧新年的年干序数比前一年的年干序数多1,乘2后即多2,就可使新年一月的天干序数比上年12月有效的天干序数多1,这样修正后符合要求。
举例说明,2024年是甲辰年,年天干序数为1,24年12月的天干数是(1×2+12)÷10=14÷10余4,所以12月天干是丁;2025年是乙巳年,年天干数是2,1月的天干数是(2X2十1)÷10余5,所以2025年1月的天干是戊。
我国常用的历法有三种,现法定历法为公元历;农历也称阴历,是我国先民根据月相icon创立的,我国的传统节日是农历;而干支历是根据日光在地球上的影相变化规律创立的。根据日影把一年分为24个节气,每月两节气。24节气是干支历,以每月的节令为本月的初一,如公元历2月的立春是干支历寅(新)月初一,3月的惊蛰为干支历的二月初一,清明为三月初一……小寒为干支历十二月初一。
有的人把干支历与农历相混淆是不对的,干支历一年只有十二个月,而农历有闰月时,一年是13个月。