近代又把每个时辰细分为初、正。晚上十一点(即二十三点)为子初,夜半十二点为子正;上午一点为丑初,上午两点为丑正,等等。这就等於把一昼夜分为二十四小时了。列表对照如下:
附图:
古人纪月通常以序数为记,如一月二月三月等等;作为岁首的月份叫做正(zhēng)月(注:秦避始皇讳,改正月为端月。但是秦以十月为岁首,下文还要谈到。又《诗经·小雅·正月》:"正月繁霜,我心忧伤",这里的正月指夏历四月(毛传),不是作为岁首的正月。)。在先秦时代每个月似乎还有特定的名称,例如正月为孟陬(楚辞),四月为除(诗经),九月为玄(国语),十月为阳(诗经),等等(注:这里是举例性质,参看《尔雅·释天》。)。古人又有所谓"月建"的观念,就是把子丑寅卯等十二支和十二个月份相配,以通常冬至所在的十一月(夏历)配子,称为建子之月,由此顺推,十二月为建丑之月,正月为建寅之月,二月为建卯之月,直到十月为建亥之月(注:庾信《哀江南赋序》:"粤以戊辰之年,建亥之月,大盗移国,金陵瓦解"(见本书本册1157页)。),如此周而复始(注:《说文》对於十二支各字的解释就是联系着月份的。前人把"建"解释为"斗建",意思是斗柄所指,认为十二支代表北斗星斗柄所指的十二个不同的方位(例如以子为北,午为南,卯为东,酉为西等等),十一月斗柄指北,所以为建子之月,以后斗柄每月移指一个方位,十二个月周而复始,这种说法在过去很普遍。南北朝的天文学家祖冲之,清朝的天文学家梅文鼎都指出月建和斗柄所指的方位没有关系。)。至於以天干配合着地支来纪月,则是后起的事。
我国古代最早的纪年法是按照王公即位的年次纪年,例如公元前770年记为周平王元年、秦襄公八年等,以元、二、三的序数递记,直到旧君出位为止。汉武帝开始用年号纪元,例如建元元年、元光三年,也是以元、二、三的序数递记,更换年号就重新纪元。这两种纪年法是过去史家所用的传统纪年法。战国时代,天文占星家根据天象纪年,有所谓星岁纪年法,星指岁星,岁指太岁。下面分别叙述。
先说岁星纪年法。前面讲天文时说过,古人把黄道附近一周天分为十二等分,由西向东命名为星纪、玄枵等十二次。古人认为岁星由西向东十二年绕天一周,每年行经一个星次。假如某年岁星运行到星纪范围,这一年就记为"岁在星纪",第二年岁星运行到玄枵范围,就记为"岁在玄枵",其余由此类推,十二年周而复始(注:事实上岁星并不是十二年绕天一周,而是11.8622年绕天一周,每年移动的范围比一个星次稍微多一点,渐积至八十六年,便多走过一个星次,这叫做"超辰"。)。《左传襄公三十年》说:"於子蟜之卒也,将葬,公孙挥与裨灶晨会事焉。过伯有氏,其门上生莠。子羽曰:'其莠犹在乎?'於是岁在降娄",《国语·晋语四》"君之行也,岁在大火",就是用岁星纪年的例子(注:有人认为《左传》《国语》里的岁星纪年出自刘歆伪托,并不反映当时的实际天象。)。
再说太岁纪年法。古人有所谓十二辰的概念,就是把黄道附近一周天的十二等分由东向西配以子丑寅卯等十二支,其安排的方向和顺序正好和十二次相反。二者对照如下表:
附图:
岁星由西向东运行,和人们所熟悉的十二辰的方向和顺序正好相反,所以岁星纪年法在实际生活中应用起来并不方便。为此,古代天文占星家便设想出一个假岁星叫做太岁(注:《汉书·天文志》叫做太岁,《史记·天官书》叫做岁阴,《淮南子·天文训》叫做太阴。),让它和真岁星"背道而驰",这样就和十二辰的方向顺序相一致,并用它来纪年。根据《汉书·天文志》所载战国时代的天象纪录,某年岁星在星纪,太岁便在析木(寅),这一年就是"太岁在寅";第二年岁星运行到玄枵,太岁便运行到大火(卯),这一年就是"太岁在卯",其余由此类推,如下面图所示。此外古人还取了摄提格、单阏等十二个太岁年名作为"太岁在寅""太岁在卯"等十二个年份的名称(注:单阏,读chányān。)。屈原《离骚》:"摄提贞于孟陬兮,惟庚寅吾以降"(注:见本书第二册549页。),一般认为这里的摄提就是作为太岁年名的摄提格,是说屈原出生於"太岁在寅"之年(注:注意:屈原时代的"太岁在寅"是反映当时岁星所在的相应的方位的,人们可以把《离骚》里的摄提(格)翻译为寅年,但不能理解为后世干支纪年法里的寅年,干支纪年法里的子丑寅卯只是一套抽象的次序符号,和太岁所在、岁星所在没有关系。又,朱熹《楚辞集注》说:"摄提,星名;随斗柄以指十二辰者也。"这是另外一种解释。);孟陬指夏历正月建寅之月;庚寅是生日的干支。这样说来,屈原的生辰恰巧是寅年寅月寅日。
附图:
下面列表说明摄提格、单阏等十二个太岁年名和太岁所在、岁星所在的对应关系:
附图:
大概在西汉年间,历家又取了阏逢、旃蒙等十个名称,叫做岁阳,依次和上述十二个太岁年名相配(配法和前述六十甲子相同),组合成为六十个年名,以阏逢摄提格为第一年,旃蒙单阏为第二年,其余由此类推,六十年周而复始。《史记·历书·历术甲子篇》自太初元年(公元前104年)始,就用这些年名纪年。《尔雅·释天》载有十个岁阳和十干对应,列表如下(注:岁阳名称也根据《尔雅·释天》。《淮南子·天文训》与此基本相同。《史记·历书》所见十个岁阳的名称和顺序是:焉逢、端蒙、游兆、彊梧、徒维、祝犁、商横、昭阳、横艾、尚章。和《尔雅》有出入。):
附图:
上文说过,十二个太岁年名和十二辰对应。为便於查阅,再作简表如下:
附图:
所以如果用干支来更代,阏逢摄提格可以称为甲寅年,旃蒙单阏可以称为乙卯年,等等。这些年名创制之初是为了反映岁星逐年所在的方位的,但是后来发现岁星并不是每年整走一个星次,用它们来纪年并不能反映逐年的实际天象,所以就废而改用六十甲子纪年了。后世有人使用这些古年名纪年,那是根据当年的干支来对照的。例如司马光《资治通鉴》卷一百七十六《陈纪》十下注曰:"起阏逢执徐,尽著雍涒滩,凡五年",是说从甲辰到戊申共五年。清初作家朱彝尊在《谒孔林赋》里写道:"粤以屠维作噩之年,我来自东,至於仙源",其实是说在己酉年。他的《曝书亭集》里的古今诗系年,也用这些年名。我们阅读古书,应该知道这种情况。
干支纪年法一般认为兴自东汉(注:有人认为在汉朝初年就开始用干支纪年,到了东汉元和二年(公元85年)才用政府命令的形式,在全国范围内实行。),六十甲子周而复始,到现在没有中断。由此可以向上逆推,知道上古某年是什么干支。一般历史年表所记的西汉以前的逐年干支,是后人逆推附加上去的,这一点应该注意。
关於纪年法我们就说到这里。
最后谈谈"三正(zhēng)"的问题。
春秋战国时代有所谓夏历、殷历和周历,三者主要的区别在於岁首的月建不同,所以又叫做三正。周历以通常冬至所在的建子之月(即夏历的十一月)为岁首,殷历以建丑之月(即夏历的十二月)为岁首,夏历以建寅之月(即后世通常所说的阴历正月)为岁首。周历比殷历早一个月,比夏历早两个月。由於三正岁首的月建不同,四季也就随之而异。下表以月建为纲,说明三正之间月份和季节的对应:
附图:
夏殷周三正是春秋战国时代不同地区所使用的不同的历日制度,我们阅读先秦古籍有必要了解三正的差异,因为先秦古籍所据以纪时的历日制度并不统一。举例来说,《春秋》和《孟子》多用周历(注:《孟子·离娄下》:"岁十一月徒杠成,十二月舆梁成,民未病涉也。"阮元以为此用夏历,但是这一点学者间有争论。),《楚辞》和《吕氏春秋》用夏历。《诗经》要看具体诗篇,例如《小雅·四月》用夏历(注:所以原诗说"四月维夏,六月徂暑","秋日凄凄,百卉具腓","冬日烈烈,飘风发发"。),《豳风·七月》就是夏历和周历并用(注:此诗凡言"七月"等处是夏历,"一之日"等处是周历。)。《春秋成公八年》说"二月无冰",史官把这一罕见的现象载入史册,显而易见,这是指周历二月即夏历十二月而言;如果是夏历二月,则已经"东风解冻",无冰应是正常现象,无需大书特书了。又如《春秋庄公七年》说"秋,大水,无麦苗",这也指周历,周历秋季相当於夏历五六月,晚收的麦子和"五稼之苗"有可能被大水所"漂杀";如果是夏历秋季,就很难索解了。由此可知《孟子·梁惠王上》所说的"七八月之间旱,则苗槁矣"也是用周历,周历七八月相当於夏历五六月,其时正是禾苗需要雨水的时候。根据同样的理由,我们相信《孟子·滕文公上》所说的"江汉以濯之,秋阳以暴之"的秋阳是指夏历五六月的炎日(注:见本书第一册306页。)。在《春秋》和《左传》里,同一历史事实,《春秋》经文和《左传》所记的时月每有出入,甚至同属《左传》所记,而时月也互有异同,这可以从三正的差异中求得解释(注:文字错乱又当别论。