随笔
今天是“公元2015年2月20日星期五……”的源头(三)
作者:安迁
“正月初二”
再看农历“正月初二”这部分。这部分可以说是真的没有源头,因为它纯属天象决定。为什么今天是初二?因为昨天是初一。为什么昨天是初一?那可不是因为前天是三十,而是因为昨天是朔日。农历里朔日一定是初一。要是前天是朔日,那上个月过完大前天二十九后没有三十,前天就是初一了。粗略地说,朔是月亮黑暗面朝地球的那一时刻。在这个时刻以前,从地球上看,月亮明亮的部分不断减少,过了这个时刻,月亮明亮的部分就开始不断增加。精确的朔的定义要用到黄道坐标系,这里不提。朔日就是朔所在的那一天。所以初一在哪天完全取决于太阳、地球和月亮这三者的关系,以及如何定义一天。后面这点牵涉到时区设置,和“为什么中国采用北京时间”的回答一致,前面说到“20时”时已经提过,在此不多说了。
“正月”部分也类似。这是由农历的月建(如何设置月份)决定的。首先,根据地球上观察到太阳在黄道上运行的情况(其实是计算出来的),可以精确地确定二十四节气的时刻,农历月建只用其中十二个中气。冬至所在的月一定是十一月(子月)。两个冬至所在的月之间或有十一个月,那么就十二月、正月、二月一路排下去,恰好排到下一个十一月;或者两个冬至所在的月之间有十二个月,那么就挑出第一个没有中气的月(因为除了冬至外只有十一个中气,不可能十二个月里每月都有中气),把它作为它前面那个月的闰月,其它十一个月份也就可以象上面那样排定。所以现在是正月完全是因为冬至落在了上一个月的上一个月里,而且上一个月里有中气,这个月也有中气。
可以这么说,如果现在来了个外星人,我们不告诉他今天是农历几月几日,只告诉他农历是朔日为初一,冬至所在月为十一月,闰月的设置等等只和天象有关的农历历法规则,又告诉他一天的始终是由北京时间午夜零时决定的。那么他根据天文观测和计算,就完全可以确定今天是正月初二。这就是为什么我说“正月初二”这部分可以说是真的没有源头。它和历史上某天是农历几月几日无关,今天是初二最多和昨天是初一有关,今天是正月最多跟上个冬至在什么时候有关。
相比之下公历今天是2月20日就不一样。就算我们告诉外星人所有公历的历法规则,外星人也许可以推断出冬至那天大约是12月22日或23日,但他不知道具体是哪天;他也不知道今年的2月会有几天,他得有今年年份是多少这个知识,这些知识是无法通过纯粹的天文观察和计算得到的,而是有某种历史源头。
“乙未年”
最后我们要考察的是“乙未年戊寅月丁卯日”这部分。这是干支纪年、纪月和纪日。如果以旧时排生辰八字的说法,连纪时也要用干支,比如丁卯日的20时(属于戌时)的干支是庚戌时。但其中天干是星相术士为了凑满“乙未戊寅丁卯庚戌”这八个字硬加进去的,因为一天12个时辰由12地支来表示就完全足够了,日的干支“丁卯”加上时的地支“戌”就完全决定了时的天干,属于多余的不提供信息的部分。今天的20时属于戌时也没有什么源头,因为每天的20时都属于戌时。所以我们只考虑干支纪年、纪月和纪日部分的源头问题。
干支纪年大约是从西汉开始的。在那以前用的是太岁纪年。省略一些如今不重要的细节,粗略地讲,太岁纪年就是用木星在以恒星星座为不动背景的天球坐标系上的运行位置来决定年份名称的纪年方式。如果把黄道平分为12等分,每等分为一个辰,这就是十二辰。木星在黄道上大约每年走一个辰(其实木星沿黄道逆行,它走的是十二次而非十二辰,不过这是细节,这里忽略掉),每辰对应一个地支,所以用它来纪年很方便,木星也因此被称作岁星。古时木星的这些位置都有古怪的名称,分别对应某地支,如“困敦”(子)“赤奋若”(丑)“摄提格”(寅)“单阏”(卯)等等。换句话说,太岁纪年中的地支部分,是没有源头的,只看天象便可知。但是太岁纪年中还有对应天干部分,如“閼逢”“旃蒙”“柔兆”等等。这部分的源头我就不知道是怎么来的。《尔雅》中说“太岁在甲曰閼逢,在乙曰旃蒙,在丙曰柔兆,……”可是没解释啥叫“太岁在甲”。这等于说“Week在月曰星期一,Week在火曰星期二,Week在水曰星期三……”好像解释了如何为每一天定星期几,其实啥都没说,因为“在月”“在火”“在水”都是什么具体天象呢?所以这里就同康斯坦丁大帝之于星期几一样有个历史源头,只是我找不到历史资料。
可是木星在天球上绕一圈并不是恰好12年(否则也太巧了),而是约11.8622年,所以它其实走得比“每年一辰”要快点,如果它走86年,大约会走差不多87辰。这就不对了,看天象没法知道今年是什么年。我抬头一看,岁星在赤奋若,以为是丑年,其实是它走过头,今年是子年,这不行。于是就有“超辰”(或“超次”)之说,得过一段时间按岁星的位置跳一下。比如汉武帝太初元年(公元前104年)实行太初历,原来的历法那年是丙子年,太初历用超辰法,算它为丁丑年。汉成帝末年,刘歆重新编订三统历,又把太初元年变回丙子年,而把太始二年(公元前95年)从乙酉超辰为丙戌年。这个性质就跟前面说的古巴比伦人到了月底就把星期几给重置一样,结果某日是星期几和月相一直符合得很好,基本上看月亮模样就知道今天星期几。如果超辰的做法一直延续下来,那么太岁纪年至少地支部分就是只和天象有关,没有源头的部分了。
可是太始二年以后,就再没人用超辰法,纪年跟岁星走得不一样也无所谓了。而从东汉建武三十年(公元54年)以后,中国官方就废止了太岁纪年法而只用干支纪年法。干支纪年无视岁星位置,只以干支的60种组合为循环,一直流传至今。按照上面的历史,太始二年以后到建武三十年,太岁纪年和干支纪年的结果就是一样的了。2006年是上一个丙戌,2006年距离太始二年为2006+95-1=2100年,恰好能被60整除。所以我们可以说,今年是乙未年的源头,地支部分是因为历史上太始二年的岁星在戌;而天干部分是因为那年刘歆决定超辰,按太岁纪年天干从乙超为丙,而这年原先天干为何为乙,我们就不知道源头为何了。