近代又把每個時辰細分為初、正。晚上十一點(即二十三點)為子初,夜半十二點為子正;上午一點為醜初,上午兩點為醜正,等等。這就等於把一晝夜分為二十四小時了。列表對照如下:
附圖:
古人紀月通常以序數為記,如一月二月三月等等;作為歲首的月份叫做正(zhēng)月(注:秦避始皇諱,改正月為端月。但是秦以十月為歲首,下文還要談到。又《詩經·小雅·正月》:"正月繁霜,我心憂傷",這裡的正月指夏曆四月(毛傳),不是作為歲首的正月。)。在先秦時代每個月似乎還有特定的名稱,例如正月為孟陬(楚辭),四月為除(詩經),九月為玄(國語),十月為陽(詩經),等等(注:這裡是舉例性質,參看《爾雅·釋天》。)。古人又有所謂"月建"的觀念,就是把子醜寅卯等十二支和十二個月份相配,以通常冬至所在的十一月(夏曆)配子,稱為建子之月,由此順推,十二月為建醜之月,正月為建寅之月,二月為建卯之月,直到十月為建亥之月(注:庾信《哀江南賦序》:"粵以戊辰之年,建亥之月,大盜移國,金陵瓦解"(見本書本冊1157頁)。),如此週而復始(注:《說文》對於十二支各字的解釋就是聯絡著月份的。前人把"建"解釋為"鬥建",意思是斗柄所指,認為十二支代表北斗星斗柄所指的十二個不同的方位(例如以子為北,午為南,卯為東,酉為西等等),十一月斗柄指北,所以為建子之月,以後斗柄每月移指一個方位,十二個月週而復始,這種說法在過去很普遍。南北朝的天文學家祖沖之,清朝的天文學家梅文鼎都指出月建和斗柄所指的方位沒有關係。)。至於以天干配合著地支來紀月,則是後起的事。
我國古代最早的紀年法是按照王公即位的年次紀年,例如西元前770年記為周平王元年、秦襄公八年等,以元、二、三的序數遞記,直到舊君出位為止。漢武帝開始用年號紀元,例如建元元年、元光三年,也是以元、二、三的序數遞記,更換年號就重新紀元。這兩種紀年法是過去史家所用的傳統紀年法。戰國時代,天文占星家根據天象紀年,有所謂星歲紀年法,星指歲星,歲指太歲。下面分別敘述。
先說歲星紀年法。前面講天文時說過,古人把黃道附近一周天分為十二等分,由西向東命名為星紀、玄枵等十二次。古人認為歲星由西向東十二年繞天一週,每年行經一個星次。假如某年歲星執行到星紀範圍,這一年就記為"歲在星紀",第二年歲星執行到玄枵範圍,就記為"歲在玄枵",其餘由此類推,十二年週而復始(注:事實上歲星並不是十二年繞天一週,而是11.8622年繞天一週,每年移動的範圍比一個星次稍微多一點,漸積至八十六年,便多走過一個星次,這叫做"超辰"。)。《左傳襄公三十年》說:"於子蟜之卒也,將葬,公孫揮與裨灶晨會事焉。過伯有氏,其門上生莠。子羽曰:'其莠猶在乎?'於是歲在降婁",《國語·晉語四》"君之行也,歲在大火",就是用歲星紀年的例子(注:有人認為《左傳》《國語》裡的歲星紀年出自劉歆偽託,並不反映當時的實際天象。)。
再說太歲紀年法。古人有所謂十二辰的概念,就是把黃道附近一周天的十二等分由東向西配以子醜寅卯等十二支,其安排的方向和順序正好和十二次相反。二者對照如下表:
附圖:
歲星由西向東執行,和人們所熟悉的十二辰的方向和順序正好相反,所以歲星紀年法在實際生活中應用起來並不方便。為此,古代天文占星家便設想出一個假歲星叫做太歲(注:《漢書·天文志》叫做太歲,《史記·天官書》叫做歲陰,《淮南子·天文訓》叫做太陰。),讓它和真歲星"背道而馳",這樣就和十二辰的方向順序相一致,並用它來紀年。根據《漢書·天文志》所載戰國時代的天象紀錄,某年歲星在星紀,太歲便在析木(寅),這一年就是"太歲在寅";第二年歲星執行到玄枵,太歲便執行到大火(卯),這一年就是"太歲在卯",其餘由此類推,如下面圖所示。此外古人還取了攝提格、單閼等十二個太歲年名作為"太歲在寅""太歲在卯"等十二個年份的名稱(注:單閼,讀chányān。)。屈原《離騷》:"攝提貞於孟陬兮,惟庚寅吾以降"(注:見本書第二冊549頁。),一般認為這裡的攝提就是作為太歲年名的攝提格,是說屈原出生於"太歲在寅"之年(注:注意:屈原時代的"太歲在寅"是反映當時歲星所在的相應的方位的,人們可以把《離騷》裡的攝提(格)翻譯為寅年,但不能理解為後世干支紀年法裡的寅年,干支紀年法裡的子醜寅卯只是一套抽象的次序符號,和太歲所在、歲星所在沒有關係。又,朱熹《楚辭集註》說:"攝提,星名;隨斗柄以指十二辰者也。"這是另外一種解釋。);孟陬指夏曆正月建寅之月;庚寅是生日的干支。這樣說來,屈原的生辰恰巧是寅年寅月寅日。
附圖:
下面列表說明攝提格、單閼等十二個太歲年名和太歲所在、歲星所在的對應關係:
附圖:
大概在西漢年間,歷家又取了閼逢、旃蒙等十個名稱,叫做歲陽,依次和上述十二個太歲年名相配(配法和前述六十甲子相同),組合成為六十個年名,以閼逢攝提格為第一年,旃蒙單閼為第二年,其餘由此類推,六十年週而復始。《史記·曆書·歷術甲子篇》自太初元年(西元前104年)始,就用這些年名紀年。《爾雅·釋天》載有十個歲陽和十干對應,列表如下(注:歲陽名稱也根據《爾雅·釋天》。《淮南子·天文訓》與此基本相同。《史記·曆書》所見十個歲陽的名稱和順序是:焉逢、端蒙、遊兆、彊梧、徒維、祝犁、商橫、昭陽、橫艾、尚章。和《爾雅》有出入。):
附圖:
上文說過,十二個太歲年名和十二辰對應。為便於查閱,再作簡表如下:
附圖:
所以如果用干支來更代,閼逢攝提格可以稱為甲寅年,旃蒙單閼可以稱為乙卯年,等等。這些年名創制之初是為了反映歲星逐年所在的方位的,但是後來發現歲星並不是每年整走一個星次,用它們來紀年並不能反映逐年的實際天象,所以就廢而改用六十甲子紀年了。後世有人使用這些古年名紀年,那是根據當年的干支來對照的。例如司馬光《資治通鑑》卷一百七十六《陳紀》十下注曰:"起閼逢執徐,盡著雍涒灘,凡五年",是說從甲辰到戊申共五年。清初作家朱彝尊在《謁孔林賦》裡寫道:"粵以屠維作噩之年,我來自東,至於仙源",其實是說在己酉年。他的《曝書亭集》裡的古今詩系年,也用這些年名。我們閱讀古書,應該知道這種情況。
干支紀年法一般認為興自東漢(注:有人認為在漢朝初年就開始用干支紀年,到了東漢元和二年(西元85年)才用政府命令的形式,在全國範圍內實行。),六十甲子週而復始,到現在沒有中斷。由此可以向上逆推,知道上古某年是什麼干支。一般歷史年表所記的西漢以前的逐年干支,是後人逆推附加上去的,這一點應該注意。
關於紀年法我們就說到這裡。
最後談談"三正(zhēng)"的問題。
春秋戰國時代有所謂夏曆、殷歷和周曆,三者主要的區別在於歲首的月建不同,所以又叫做三正。周曆以通常冬至所在的建子之月(即夏曆的十一月)為歲首,殷歷以建醜之月(即夏曆的十二月)為歲首,夏曆以建寅之月(即後世通常所說的陰曆正月)為歲首。周曆比殷歷早一個月,比夏曆早兩個月。由於三正歲首的月建不同,四季也就隨之而異。下表以月建為綱,說明三正之間月份和季節的對應:
附圖:
夏殷週三正是春秋戰國時代不同地區所使用的不同的歷日製度,我們閱讀先秦古籍有必要了解三正的差異,因為先秦古籍所據以紀時的歷日製度並不統一。舉例來說,《春秋》和《孟子》多用周曆(注:《孟子·離婁下》:"歲十一月徒槓成,十二月輿梁成,民未病涉也。"阮元以為此用夏曆,但是這一點學者間有爭論。),《楚辭》和《呂氏春秋》用夏曆。《詩經》要看具體詩篇,例如《小雅·四月》用夏曆(注:所以原詩說"四月維夏,六月徂暑","秋日悽悽,百卉具腓","冬日烈烈,飄風發發"。),《豳風·七月》就是夏曆和周曆並用(注:此詩凡言"七月"等處是夏曆,"一之日"等處是周曆。)。《春秋成公八年》說"二月無冰",史官把這一罕見的現象載入史冊,顯而易見,這是指周曆二月即夏曆十二月而言;如果是夏曆二月,則已經"東風解凍",無冰應是正常現象,無需大書特書了。又如《春秋莊公七年》說"秋,大水,無麥苗",這也指周曆,周曆秋季相當於夏曆五六月,晚收的麥子和"五稼之苗"有可能被大水所"漂殺";如果是夏曆秋季,就很難索解了。由此可知《孟子·梁惠王上》所說的"七八月之間旱,則苗槁矣"也是用周曆,周曆七八月相當於夏曆五六月,其時正是禾苗需要雨水的時候。根據同樣的理由,我們相信《孟子·滕文公上》所說的"江漢以濯之,秋陽以暴之"的秋陽是指夏曆五六月的炎日(注:見本書第一冊306頁。)。在《春秋》和《左傳》裡,同一歷史事實,《春秋》經文和《左傳》所記的時月每有出入,甚至同屬《左傳》所記,而時月也互有異同,這可以從三正的差異中求得解釋(注:文字錯亂又當別論。