古天文 | 干支历初探
关键词:干支历,五虎遁,五鼠遁,农历,公历,二十四节气,北斗七星
前面我们谈到了阴阳合历,制定者采用“十九年七闰法”确保了每个月固定某天的月相的统一,并且当年的某月某日和过往一样大致相同的气候。简单举例,也就是今年的农历六月初一和去年的六月初一,气温大致相同,但并不是完全一致。真正统一四季的是二十四节气。也就是今年的清明节和去年的清明节的气候,包括温度基本一致。而二十四节气是属于干支历的一部分。
干支历是用天干地支作为计数工具。这里先谈干支历的使用,原理后续再探讨。天干十个,地支十二个,阳干配阳支,阴干配阴支。奇配奇,偶配偶,这样总共会配出六十个不同的组合,也就是六十甲子。在用干支进行计数的时候,有两个重要的概念,“五虎遁”和“五鼠遁”,暂时把这两个东西理解成和“十九年七闰法”一样的东西就够了,都是一种保证历法统一天体运动的概念。不过干支历更加直接,是直接从星体运动抽象出来的。这也是是为什么二十四节气当天的气候每年都一样。
正月初一是农历新年,而干支历的第一天是立春。农历月从正月、二月往后推,若是某年碰到闰月则叫大小月,比如2023年2月20日是农历二月初一,3月22日是闰二月初一。闰二月只有二十九天。而干支历的月则是寅月、卯月往后推,但是不会出现重复。这就是由“五虎遁”和“五鼠遁”设计来的。当然,这些本身就是星体运动的规律,只不过是用历法的方面表现出来了。类似“开普勒三定律”,“五虎遁”和“五鼠遁”也是一种天文规律。
五虎遁,又叫年上起月。口诀是“甲己之年丙作首,乙庚之岁戊为头,丙辛必定寻庚起,丁壬壬位顺行流,若问戊癸何方发,甲寅之上好追求”。例如2024年12月属于甲辰年,天干是“甲”,属于口诀的第一句“甲己之年丙作首”中的天干为甲或己的年份,“丙作首”是指立春第一天,寅月的天干是丙,也就是今年立春第一天是 “甲辰年 丙寅月 xx日”。
五鼠遁,又叫日上起时。口诀是“甲己还加甲,乙庚丙作初。丙辛从戊起,丁壬庚子居。戊癸起壬子,周而复始求。”前面我们还没有谈到对每天的时间的计量,今天和昨天基本一样,所以每天的计量相对来说不是那么重要,比如日出起床,日中吃午饭,日落休息。就是一种简单地历法。这里先把五鼠遁解释了,说的就是比如2024年12月3日是辛丑日,中午11:00~13:00,属于午时,辛丑日天干是辛,查口诀在第三句“丙辛从戊起”,那么当天的子时就是戊子时,按六十花甲推:戊子、己丑、庚寅、辛卯、壬辰、癸巳、甲午,当天中午是甲午时。每天十二个时辰都是从子(23:00~1:00)、丑往后推。
每天亥时结束后,到了新的子时,第二天的干支就按照六十花甲不断地向前推演。比如24年12月3日,辛丑日,己亥时结束后。到了庚子时,是新的一天,就是壬寅日庚子时了。
每年的立春基本都在2月3日、4日,但是当天的农历日子并不固定。这是因为二十四节气和公历都是刻画了太阳周年运动。但是公历只是用365天,4年闰1天来整体刻画一年,非常简单但也很好用。而干支历下的二十四节气,把一年365天按照四季气候的规律全部刻画完毕,非常之高明!其根源本身就是来自星体的运动规律。
我们知道每天的亥时结束之后要推进当天的干支了,那么每月结束的时候是按什么规律?并不是像我们之前讲的公历规定好了1月31天,然后下一天就是2月1日。或者农历正月三十下一天是二月初一。换月的地支,其实就是根据二十四节气而来的,而是二十四节气是根据北斗七星而来。所以年、月和日、时是两套干支推演计数方式,所以为什么有两套口诀。
所以古人要做的事情比较复杂,要根据天文安排好农历,并且同时安排好当年的二十四节气在农历的哪一天,这个后续我们再探讨。比如2024年甲辰年的立春,也就是丙寅月的第一天,是在前一年(癸卯年)农历腊月廿五(按农历来),而2023年癸卯年的立春,也就是癸卯年甲寅月的第一天,安排在(癸卯年)农历正月十四(按农历来)。
好现在我们知道了,每天的时辰按子、丑、寅往前推一轮后,当日的干支往前进一位。而独立来说,每年的月份按寅、卯、辰往前推一轮后,当年的干支往前进一位。也就是2024年甲辰年最后腊月丁丑月(公历到了2025年2月)结束了,到了2025年2月3日立春了,当年的干支甲辰往前进一位就是乙巳年了。
对比农历、公历、干支历,农历统一了月相同时方便指导农事生活,公历使用起来简单方便,而干支历刻画了二十四节气,但是从计数和推演方面来说来比较复杂,解放之前古代民间都是用农历,干支历是官方或少数人才会使用的。干支历在民间普通用来纪年,也就我们的生肖属相,甲辰年出生的地支是辰属龙,乙巳年出生的地支是巳属蛇。在古代纪年也往往用皇帝的年号。另外,干支历向来为术数家所重视,其是一种星体规律的符号化表达,是研究和预测人事变化规律重要手段。