干支组合与计时
三、干支组合与计时
干支纪年是我国古老的纪年方法,直到现在,在我们日常生活中,仍然在用。例如,2018年是戊戌年,2019年是己亥年,2020年是庚子年。而每年入梅、出梅、入伏、出伏等重要节令,都与干支纪日有关。那么,干支纪年、干支纪日,与数学有关系吗?——当然有,而且关系很大。
时间,像一条无穷无尽的长河,日复一日,年复一年,不断向未来延伸。怎样来分辨前天与昨天、去年与前年呢?又怎样来记载历史上某年某月某日发生了某个重大事件呢?这实在是个难题。
我们的祖先想出了一个绝妙的方法——干支纪日法。后来又发展为干支纪年、纪月、纪时。
干,就是“十天干”:甲、乙、丙、丁、戊、己、庚、辛、壬、癸;支,就是“十二地支”:子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥。将十天干与十二地支搭配起来,就能得到不同的干支组合:甲子、乙丑、丙寅、丁卯……直至癸亥,共六十个不同的干支名。因为天干与地支数目相差2,所以循环搭配时,逢单的甲、丙、戊、庚、壬5个天干,只能与逢单的子、寅、辰、午、申、戌这6个地支相配,得30个干支名;逢双的乙、丁、己、辛、癸5个天干,只能与逢双的丑、卯、巳、未、酉、亥这6个地支相配,得另外30个干支名。所以,不同的干支名,有且只有60个,合称“六十甲子”。
用这60个干支,给每一天起一个名字,依次称为:甲子日,乙丑日,丙寅日,丁卯日……直至癸亥日,这样,连续60天,每天都有不同的名字。然后从头再来,从甲子日起循环往复,周而复始(表4-3-1)。
表4-3-1 六十甲子表

据《春秋》记载:“(鲁隐公三年)春王二月,己巳,日有食之。”这是一次日食的记载,发生在公元前720年2月22日。从那以后,我国干支纪日,连续使用了2600多年,直至清末,从未间断,也从未发生混乱。这是世界上最为成功、使用时间最长的纪日法。干支纪日法的设计,含有明显的组合学思想,这是世界上实际应用组合学知识的最早范例之一。
干支纪年从东汉《四分历》颁行的那一年开始,那一年是东汉章帝元和二年(公元85年),纪年的干支名为乙酉。干支纪年法一直用到现在。历史上发生的一些重大事件,也大多用事发当年的干支名来命名,如“辛亥革命”“戊戌变法”“甲午战争”等等。
干支纪日,60天一循环,大约是两个月,方便记忆,又能区分相继两个甲子周期中同一日名的不同季节、不同景象,不至于弄错。而干支纪年,60年一循环,大约是古人的一生。
古语说“人生七十古来稀”,可见古时年龄能超过七十的人很少。现在社会进步了,人的平均寿命大大提高。但是人过60岁,又回到出生时的那个干支年,“花甲重逢”,还是值得庆贺的。
今天,这种干支纪年、纪日的方法,仍然有用。
其一,可以推算出历史上任何一年的干支名。
其二,今天,农历的某些节令,仍然是按照干支纪日法来确定的。例如,每年的“入梅”,规定为芒种后第一个丙日(天干为丙);“出梅”规定为小暑后第一个未日(地支为未)。所以,每年的“梅天”日数是不固定的。
最后,我们来说说干支纪年的一种推算方法。
因为《四分历》使用后,朝廷官方正式确定公元85年的纪年干支名为乙酉,可推算得:公元4年是甲子年。设要推算公元N年的干支名,它在最近一个甲子周期中的序号为b(0≤b<60),即有公式:
b=N-60q-3,其中q是正整数。
或作带余除法:求N-3被60除后所得的余数。
例如,推算抗日战争全面爆发的1937年的干支名:
1937-3=1934,1934=60×32+14
因此,1937年在甲子周期表中,是第14个干支名——丁丑,即1937年是农历丁丑年。
不过有两点需要注意:
第一,一个公历年跨越两个农历年,一般是以该年春节后的新农历年的干支名,来作对应;如果一个事件发生在某年元月或二月,那么,就要查万年历,才能确定它所对应的干支年号。
第二,照国际惯例,公元元年就是公元1年,而公元元年(1年)的前一年是公元前1年。所以,推算公元前某年的干支年号时,要再减去1年。