古歷管窺 · 卷下

劉師培 《古歷管窺》
穆王西征之歲載於《古竹書紀年》穆傳,郭注引作十七年西征崑崙丘見西王母,其年來見賓於昭宮,殷敬順《列子·周穆王》篇、《釋文》、《藝文類聚》七、《太平御覽》三十八所引略同。又《類聚》九十一引《紀年》雲,穆王十三年西征,至於青鳥之所憩。所記之歲復殊。今以古歷勘之,當以十三年為確。是年周曆距入丙子蔀二十七年,積月三百三十三,閏餘十八,積日九千八百三十四,小餘七百八十七,大餘五十四,得庚午為正月朔。由是遞推,得閏月庚子朔,推得正月三十日己亥為冬至,後一月無中氣,故知閏在正月後。二月己巳朔,三月己亥朔,四月戊辰朔,五月戊戌朔,六月戊辰朔,七月丁酉朔,稍與穆傳不合。殷歷距入丁酉蔀四十六年,積月五百六十八,閏餘十八,積日一萬六千七百七十三,小餘四百九十二,大餘二十三,得庚午為正月朔。由是遞推得二月庚子朔,閏月己巳朔,推得正月二十九日戊戌為冬至,依次遞推得二月二十九日為大寒,後一月無中氣,故知閏在二月後。三月己亥朔,四月戊辰朔,五月戊戌朔,六月丁卯朔,七月丁酉朔,與穆傳季夏丁卯,孟秋丁酉宛符。蓋穆傳以日記事,其有日繫於月者,均朔日也。試即西征時所書日名釋以殷歷。傳言戊寅天子北征,為閏月十日,癸亥雨雪為十五日,乙酉為十七日,甲午為二十六日,己亥至於焉,居禺之平為三月朔日,己亥上疑挩季春二字。 辛丑為三日,癸酉系癸卯之訛,篆文「酉」象古文「 」之形,故「卯」訛為「酉」為五日,甲辰為六日,丙午為八日,「戊寅」系「戊申」之訛,古文「申」或作「 」,「寅」或作「 」,二字形近,故「申」訛為「寅」。為十日,癸丑為十五日,吉日,戊午為二十日,己未為二十一日,乙丑為二十七日,丙寅為二十八日,由甲寅至丁巳歷五十日,傳均缺書,蓋卷二封膜晝以下有挩文。據卷四言,由陽紆至於西夏氏,又至於珠余氏及河首,由河首襄山以西始達舂山,即此五十日中所行之地也。丁巳為五月二十日,吉日,辛酉為二十四日,癸亥為二十六日,甲午為二十七日。季夏,丁卯為六月朔日,壬申為六日,己卯為十三日,庚辰為十四日,辛巳為十五日,壬午為十六日,甲申為十八日,辛卯為二十五日,癸巳為二十七日。孟秋,丁酉為七月一日,戊戌為二日,壬寅為六日,丙午為十日,丁未為十一日,己酉為十三日,庚戌為十四日,癸丑為十七日,丁巳為二十一日,己未為二十三日,癸亥為二十七日,吉日,甲子為二十八日,乙丑為二十九日,自丁未、己酉以下所記,均東歸事。惟孟秋癸巳五日丁酉確為來年三月朔及五日。此作孟秋,疑所記有訛,或穆曾兩至西方。丁酉、己酉以下所記,非本年之事,故《紀年》於十三年記西征,於十七年又記見西王母。惟孟秋、癸巳、孟冬、壬戌與十七年歷術亦弗合,不可考矣。 《離騷經》雲,攝提貞於孟陬兮,惟庚寅吾以降。王逸注云,太歲在寅曰攝提格。正月為陬,庚寅日也。近江寧陳氏瑒作《屈子生卒年月考》以周曆推之,謂楚宣王二十七年戊寅。其建寅之月,朔日己巳,二十二日為庚寅。今以夏曆推之,楚宣王二十七年戊寅距入乙卯蔀四十九年,積月六百零六,閏餘一,積日一萬七千八百九十五,小餘六百五十四,大餘十五,得庚午為正月朔,庚寅為正月二十一日,屈子之生當在是年。頃襄王即位之歲,屈子之年四十六,自沈汨羅,其年蓋五十餘。 《史記·魏世家》系惠王遷梁於三十一年。《集解》引《汲冢紀年》雲,梁惠成王九年四月甲寅徙都大梁。《索隱》疑《紀年》為誤。 《漢書·地理志》顏注載臣瓚說所引汲郡古文,又以為惠王六年。 竊以舊本《紀年》以《魏史》志魏事年月,似信而有徵。《史記》因魏失河西,追述遷都之事,非必遷梁在三十一年也。考《秦紀》及《六國表》均言孝公十年降魏安邑,孝公十年當惠王十九年,則魏遷大梁必在惠王三十一年前,疑遷梁之歲與失安邑之歲同。《紀年》原文蓋作十九年,《集解》挩十字。《漢書》注作六年,六又九字之誤。試以夏曆推之,惠王十九年即周顯王十七年,距入乙卯蔀四十年,積月四百九十四,閏餘十四,積日一萬四千八百八十八,小餘二百三十二,大餘八,得癸亥為正月朔。由是遞推得,壬辰為二月朔,壬戌為三月朔,辛卯為四月朔,甲寅為二十四日,與《集解》所引宛合,乃今本《紀年》列此事於顯王四年,其為後儒所改竄,夫何疑乎? 秦及漢初並用《顓頊曆》。《顓頊曆》以夏正為歲首。《晉書·律曆志》引魏董巴議曰:顓帝以今之孟春正月為元,其時正月朔旦立春,五星會於天曆營室也。冰凍始津,蟄蟲始發,雞始三號,天曰作時,地曰作昌,人曰作樂,鳥獸萬物莫不應和,故顓帝聖人為歷宗也。說本《大戴禮》又雲夏為得天,以承堯舜,從顓帝之故也。 是其證。秦以十月為歲首,漢初因之。《史記·張蒼傳》云:以高祖十月始至霸上,因故《漢書》作故因秦時本正月為歲首,《續漢志·歷志》載尚書令忠奏雲,漢祖受命。因秦之紀,十月為年首,閏常在歲終。故書籍所紀,恆以歲首所在之歲為歲名。如《漢書·律曆志》載《世經》雲,漢高祖皇帝著紀伐秦繼周,木生火為火德,天下號曰「漢」。距上元年十四萬三千二十五歲。此用「三統」,與《顓頊曆》靡涉。歲在大棣之東井二十二度,鶉首之六度也。故《漢志》曰,歲在大棣,名曰敦牂,太歲在午。考高祖三年,歲在乙未。其曰太歲在午者,據歲首所在之歲言也。《律曆志》述公孫卿等議造漢歷雲,乃以前歷上元泰初四千六百一十七歲此指大初初改之歷言。至於元封七年,復得閼逢攝提格之歲中冬。此指歲陰言。十一月甲子朔旦冬至,日月在建星,太歲在子。王氏《雜誌》改為寅,謬太甚。《世經》亦曰,漢歷太初元年距上元十四萬三千一百二十七歲。此指三統言。前十一月甲子朔旦冬至,歲在星紀,婺女六度。故《漢志》曰歲名困敦。考太初元年歲在丁丑,其曰歲星在子者,據歲首所在之歲言也。許宗彥、張文虎說同。《淮南子·天文訓》雲,淮南元年冬,太一在丙子,冬至甲子,立春丙子,高注云,淮南作書之元年也,又引一說雲,淮南王安即位之元年,以紀時也。前說誤甚,後說是。考《漢書·諸侯王表》安以文帝十六年四月丙寅紹封,是年歲在丁丑。 今日丙子,亦據歲首所在之歲言。考《顓頊曆》是年距入壬申蔀五十年,積月六百一十八,閏餘八,積日一萬八千二百五十。小餘六十二,大餘十,得壬午為正月朔。 更以氣余乘入蔀年,得一千零五十。如四而一得氣,大餘二百六十二,小餘二。氣大余滿旬周去之,得二十二。命起壬申算外,得甲午為年前冬至,乃十一月十二日也。由是遞推,則庚辰為立春,乃歲前十二月二十九日。淮南本文誤午為子「立春」下脫二字。 注文「丙子」因以衍入。錢塘補註以「丙子」為注文,是也。《漢書·賈誼傳》雲,誼為長沙傅。三年,有鵩飛入誼舍。又載誼賦雲,單閼之歲,四月孟夏,庚子日斜,史記作施。服集余舍。凡漢人系歲字於歲名下者,均指歲陰言,與歲在某某指太歲者不同。歲陰在卯,則太歲在丑。 考漢文帝四年歲在乙丑,五年歲在丙寅,是賦作於文帝五年,而曰單閼之歲,則必以斯年為乙丑,故並以歲陰為在卯。《文選》注引徐廣曰:文帝六年歲在丁卯,則以單閼指太歲言。汪中《述學》雲,《史記》曆書太初元年焉,逢攝提格,上推孝文五年,是為昭陽單閼。賈生以孝文元年為博士,歲中超遷至大中大夫,旋出為長沙王傅。至是適得三年,其說是也。若此賦作於文帝四年,則至長沙未三歲,若作於六年,則已拜梁傅,自以五年為確。是年入壬申蔀三十九年,積月四百八十二,閏餘七,積日一萬四千二百三十三,小餘二百一十八,大餘十三,得乙酉為正月朔,四月無庚子,當系庚午之訛。庚午為四月十八日,子午形近而訛。此亦以歲首所在之歲為名之證也。既以歲首所在之歲為名,則與《顓頊曆》所起乙卯元積年不合,故改從甲寅元。《續漢志·律曆志》引蔡邕議,以為歷數精微,去聖久遠,得失更迭,術術無常,是以承秦歷用顓頊,元用乙卯。注云,蔡邕《命論》即《月令論》之訛。曰,《顓頊曆》術曰,天元正月己巳朔旦立春,俱以日月起於天廟,營室五度。《續志》又引劉洪上言云,己巳顓頊,秦所施用。漢興草創,因而不革。 又雲,乙卯之元,人正己巳朔旦立春,三光聚天廟五度。《續志》又雲,故黃帝造歷,元起辛卯,而顓頊用乙卯。又雲,漢興,承秦初,用乙卯。是《顓頊曆》起於乙卯年己巳日也。《開元占經》卷一百五雲,《顓頊曆》上元乙卯至今開元二年。二百七十六萬一千一十九算外,是唐人所見《顓頊曆》亦以乙卯為元,乃《淮南·天文訓》雲,鎮星以甲寅元始建斗歲。又雲,太白元始,以正月甲寅與熒惑王氏《雜誌》改為室。晨出東方。又雲,天一元始,錢塘補註雲「天」當為太歷家所謂太歲也。正月建寅,日月俱入營室五度。七十六歲,日月復以正月入營室五度,五度無餘分,名曰「一紀」,凡二十紀一千五百二十歲大終,王氏《雜誌》曰:下當有「三終」二字。日月星辰,復始。甲寅元,據淮南說,則以《顓頊曆》元起甲寅。《宋書·歷志》載祖沖之議雲,按五紀論《黃帝歷》有四法,顓頊、夏、周並有二術。又雲,《顓頊曆》元歲在乙卯,而《命歷序》雲,此術設雲歲在甲寅。《新唐書·歷志》載一行《日度議》雲,《顓頊曆》上元甲寅歲正月甲寅。當作己巳。晨初合朔立春七曜皆直艮維之首。又雲,夏時直月者,皆當十二月中,故因循夏令,其後呂不韋得之,以為秦法,更考中星,斷取正距,以乙卯歲正月己巳合朔立春為上元。又引《洪範傳》雲,曆紀始於顓頊上元太始,閼蒙攝提格之歲,畢陬之月,朔日己巳,立春七曜,俱在營室五度也。所引《洪範傳》亦與淮南說合,是均《顓頊曆》起元甲寅之說也。惟一行以乙卯元為不韋所改,其說似非。 蓋斯歷起元本在乙卯,秦漢改十月為歲初,因移前歲歲名於本歲,則上溯乙卯起元,亦復後移一歲,依《占經》所載,積年計之,漢高元年距入壬申蔀八年,壬申蔀首為丁亥。今漢高元年既蒙歲首所在之歲名稱為甲午,則距壬申僅七年,與歷術不合。然入蔀歲數必不可移,因於《顓頊曆》所起之年亦以前歲之名為名,以甲寅代乙卯。蓋起元之年既改,則蔀首所在之歲亦均上移,如乙卯元第二蔀首太歲在辛未,今改為甲寅元,則蔀首歲在庚午。餘可遞推。而入蔀之年弗違舊曆,則推算亦悉符。如《太初曆》未改之前,其舊史所書晦朔依後人所命甲子,如漢高元年,太歲在乙未,文帝十六年,太歲在丁丑是。推以顓頊乙卯元之歷,其日名大抵相符。具詳《通鑑目錄》及近人張文虎諸家之書,不悉舉,其不合者,均字誤。然按以當時所記載,其歲名悉後一年,則入蔀之年不符,安得合於乙卯元之歷?以是知秦漢之歷,均用甲寅元,蓋歲名後移一歲,則元名不得不上移。至於起元之日,固靡所更,觀蔡邕所言乙卯元,《洪範傳》所言甲寅元,均言朔日己巳,則蔀名次第二元亦同。其所謂甲寅元、乙卯元者,特一就本術言,一就漢初所名言耳。太初元年之後,所命甲子不復蒙前歲為名。《漢書·樂志》載天馬歌曰,天馬徠執徐時。據《李廣利傳》、《西域傳》,知漢得大宛千里馬,在太初四年。是漢以太初四年歲在庚辰,則太初元年改歷後,亦改歲名為丁丑。又《翼奉傳》載奉封事雲,今年太陰建於甲戌,考封事上於初元二年。所云太陰,即謂歲建。若太初元年為丙子,則是年當為癸未矣。又《王莽傳》謂建國五年蒼龍癸酉,由是上溯太初元年,亦非丙子。乃錢氏大昕則曰:太初元年,太歲當在丙子,而東漢人以為丁巳,由不用超辰。今觀以上數證,則丁丑非後人所強名,蓋斯年五月以前,仍蒙前歲名,丙子改歷以後,則定名丙子。近張氏文虎以《三統》推星宿伏見法推之,知太初元年當名赤奮,若固不易之說矣。此東漢之儒所由均以乙卯元為說歟。 秦漢之歷改歲首而不改月名,王氏引之論之詳矣。《史記·秦始皇本紀》四年十月庚寅,蝗蟲從東方蔽天。《六國表》作七月。 考《史記》以秦事系年,均十月在前,《本紀》記是年事,既有三月軍罷之文,此下不當有十月。蓋古文「七」字作「」,因訛為「十」。 近金山顧氏觀光以《顓頊曆》推之,得七月丁亥朔,四日庚寅,所推是也。又謂此十月為夏之七月。蓋沿秦史之舊,失於追改,則其說大非。張文虎《史記札記》曰,按《顓頊曆》十月戊辰朔,二十三日庚寅。《表》作「七月」誤。其說不知何據。《本紀》又雲,三十七年十月癸丑,始皇出遊。 《論衡·實知》篇同。七月丙寅,始皇崩於沙丘平台。今考三十七年十月,即三十六年之冬,距入壬申蔀三年,積月三十七,閏餘二,積日一千零九十二,小餘六百零五,大餘十二,得甲申為正月朔,庚戌為十月朔,四日癸丑。然推至次年七月,日名無丙寅,則「丙寅」必系「丙申」之訛。與《穆傳》「申」、「寅」互訛同例,為七月二十一日。 乃顧氏則雲,真誥注謂,秦之七月,夏之四月,是亦訛沿秦史舊文。 不知《史記·李斯傳》亦言始皇十月出行,七月至沙丘病甚,與《本紀》同,豈亦誤沿秦史乎?蓋秦漢實無改月名之事也。自是以外,則《秦紀》所書日名,顧氏所釋,均與歷合。蓋秦歷雖用甲寅元,其入蔀之年,亦與乙卯元靡異也。 《呂氏春秋·序意》篇雲,維秦八年,歲在涒灘,秋甲子朔。高注云,秦始皇即位八年也。近儒解各不同,非據超辰為說,即雲「八」系「六」訛,惟超辰之說既為《顓頊曆》所無,以漢高元年太歲在午逆推之,始皇六年亦當蒙前歲為歲名,稱為己未,且三秋朔日,均非甲子,則二說均非。竊以始皇八年,當稱辛酉。惟七年稱庚申,考之《史記·秦本紀》莊襄之卒稱四年五月。夫莊襄僅立三年,而史雲四年,蓋自即嗣子之位計,非自即改元之歲計也。茲雲八年,例亦與符。又考《史記·呂不韋列傳》,先記《呂覽》成書事,乃及始皇七年夏後之薨,則不韋作序,不得遲至八年,蓋即始皇即位之七年也。歲在涒灘,猶《淮南》所謂太一在丙子耳。惟「甲子」二字,當系「庚子」之訛。是年距入癸酉蔀五十年,積月六百一十八,閏餘八,積日一萬八千二百五十,小餘六十一,大餘十,得癸卯為正月朔。由是遞推,得七月庚子朔。蓋「庚甲」舊文形近,甲篆作「 」,而鐘鼎古文「庚」或作「 」,見子父庚爵。故訛「庚」為「甲」,爰書之以備一說雲。《春秋繁露·止雨》篇雲,二十一年八月庚申朔丙午,此江都王建國之年也。盧氏文弨校本,改「庚申」為「甲申」。今考《漢書·諸侯王表》,江都易王非以景帝二年,立為汝南王二年,徙江都,二十八年薨。子王建以元朔二年嗣位。由景帝二年下迄武帝元朔二年,正合二十八年之數,則易王二十一年,當武帝建元六年。以《顓頊曆》推之,是年距入辛亥蔀三年,積月三十七,閏餘二,積日一千零九十二,小餘六百零五,大餘十二,得癸亥為正月朔。由是遞推,則七月庚申朔,八月庚寅朔,十七日丙午,是「庚申」確為「庚寅」之訛。盧氏所改,蓋據本傳,非立廿七年為說,以二十一年當元光元年。然與初封之歲不合也。 《漢書·律曆志》載三統術謂,魯歷不正,以閏餘一之,歲為蔀首,此就《三統曆》校之也。顧氏觀光謂,《占經》所載魯歷,積年少三千六十年,則魯歷自庚子起元,下迄開元二年,當積二百七十六萬四千三百九十四算外。《占經》舊文作二百七十六萬一千三百三十四算外。 今依是術推之,《三統曆》庚戌起元之年,即魯歷入第五百七十五元第二紀二十蔀之第四十七年。是年《三統曆》至朔同日,閏在歲前,魯歷則閏餘十八,閏在正月後。故凡魯歷入蔀之年,三統置閏,均在歲前十一月後。如魯桓公十一年,魯歷入己酉蔀,而桓公十年三統置閏在十一月後,文公二年魯歷入戊子蔀,襄公二十四年入丁卯蔀,而文公元年襄公二十三年,三統置閏均在十一月後,是其例。以《三統曆》校之,則魯歷蔀首均為三統閏餘一之歲。故子駿以是為譏,至於魯曆本術,固亦以至朔同日,無閏余之歲為蔀首也。又《唐書·歷志》載,一行《中氣議》雲,魯歷南至,又先周曆四分日之三而朔,後九百四十分日之五十一,故僖公五年辛亥為十二月晦,壬子為正月朔。又推日蝕,密於殷術,其以閏餘一為蔀首,亦取合於當時也。章首當作蔀首。又《日度議》雲,祖沖之、張胄玄促上章,歲至太初元年,沖之以癸亥雞鳴冬至,而胄玄以癸亥日出,欲令合於甲子,而適與魯歷相會。自此推僖公五年,魯歷以庚戌冬至,而二家皆以甲寅。今考僖公五年,魯歷距入己酉蔀九年,積月五百六十八,閏餘十八,積日一萬六千七百七十三,小餘四百八十八,大餘三十三,得壬午為天正朔,而周曆是年則以辛亥為天正朔,至朔同日。具見《五經算術》。此即一行所謂後周曆而朔也。又以月餘二十一乘入蔀年,如四而一得氣,大餘二百四十一,小餘二,氣大余滿旬,周去之得一。命起己酉算外,適得庚戌為冬至,周曆得氣,大餘四十七,此指滿旬周去後之數。小餘一,冬至適為辛亥,此即一行所謂先周曆四分日之三也。小余滿四,從氣大余,魯歷若加小余,三則至,與周曆同日,今較周曆減其三,故曰:周曆四分日之三也。惟歲前周曆朔,小余系二百三十五。見《五經算術注》。較之魯歷當減「二百五十三」。一行謂,朔後九百四十分日之五十一,「之」字以下三字確為訛文。一行《合朔議》又以魯歷校春秋晦朔。今以魯歷推之,大抵均符。惟僖五年九月己卯晦,於魯歷當為八月。一行以為與經合,蓋偶誤耳。乃汪氏日楨《古今推步諸術考》於一行所解魯歷未克詮明,亦其疏也。 《史記·天官書》歷術甲子篇,王應麟以為非太初是也,以為古歷則非。近王氏引之以為殷術,成氏蓉鏡又以為即太初術,其說均非。此歷界顓頊、太初之間,乃《顓頊曆》既廢,《太初曆》未行之歷也。蓋公孫卿等所改歷,僅改《顓頊曆》積年以定統法,至於氣、朔、大小余之數,仍承前歷,故朔,大餘二十九,小餘四百九十九,氣大餘十五,小餘七,悉與《顓頊曆》相同。曆書載武帝詔謂,十一月甲子朔旦冬至,已詹其更,以七年為太初元年,曆書又雲,封泰山,因詔御史。據《漢書·武紀》,帝幸泰山在歲首十月,則此詔班於冬至前,《武紀》又言,夏五月正歷,以正月為歲首,則五月以前,均行此歷,雖較《太初曆》為疏,然歲陰紀歲之法,置閏密疏之次,惟此特詳。又章蔀歲首,咸在冬至,亦與《顓頊曆》不同,則此亦古歷之一矣。惜《天官書》記其法未若《漢志》載三統之詳,此後儒所由滋異說歟! 西漢器兼志月日者,舍王莽所造諸器外,丞相府漏壺銘有六年三月己亥之文,丙午鉤銘有「六年五月丙午」之文。然造自何帝之時,今莫克考。其可考者,薛氏款識載有蓮勺爐,其銘文雲,五鳳二年正月己丑,是年為漢宣帝十九年。據《通鑑目錄》所推《太初曆》,是年正月戊寅朔,則己丑確為十二日,其非贗器甚明。又阮氏《積古齋款識》載有陽泉使舍薰爐,其銘文雲,五年六安十三年正月乙未,上挩四字,考《漢書·諸侯王表》,六安恭王慶以元狩二年封子夷王,以始元四年嗣位,傳雲,夷王立十年,是也。 《表》作十四年,衍「四」字。孫繆王以本始元年嗣位。傳雲繆王立二十二年,非表作二十三年,是也。繆王十三年當宣帝神爵元年,據《宣帝本紀》,神爵改元在是年三月,則三月以前仍稱元康五年,是即此爐造制之年也。是年正月癸未朔,十三日乙未,「五年」以上當有「元康」二字,昭然明矣。