穆王西征之岁载于《古竹书纪年》穆传,郭注引作十七年西征昆仑丘见西王母,其年来见宾于昭宫,殷敬顺《列子·周穆王》篇、《释文》、《艺文类聚》七、《太平御览》三十八所引略同。又《类聚》九十一引《纪年》云,穆王十三年西征,至于青鸟之所憩。所记之岁复殊。今以古历勘之,当以十三年为确。是年周历距入丙子蔀二十七年,积月三百三十三,闰余十八,积日九千八百三十四,小余七百八十七,大余五十四,得庚午为正月朔。由是递推,得闰月庚子朔,推得正月三十日己亥为冬至,后一月无中气,故知闰在正月后。二月己巳朔,三月己亥朔,四月戊辰朔,五月戊戌朔,六月戊辰朔,七月丁酉朔,稍与穆传不合。殷历距入丁酉蔀四十六年,积月五百六十八,闰余十八,积日一万六千七百七十三,小余四百九十二,大余二十三,得庚午为正月朔。由是递推得二月庚子朔,闰月己巳朔,推得正月二十九日戊戌为冬至,依次递推得二月二十九日为大寒,后一月无中气,故知闰在二月后。三月己亥朔,四月戊辰朔,五月戊戌朔,六月丁卯朔,七月丁酉朔,与穆传季夏丁卯,孟秋丁酉宛符。盖穆传以日记事,其有日系于月者,均朔日也。试即西征时所书日名释以殷历。传言戊寅天子北征,为闰月十日,癸亥雨雪为十五日,乙酉为十七日,甲午为二十六日,己亥至于焉,居禺之平为三月朔日,己亥上疑捝季春二字。
辛丑为三日,癸酉系癸卯之讹,篆文“酉”象古文“ ”之形,故“卯”讹为“酉”为五日,甲辰为六日,丙午为八日,“戊寅”系“戊申”之讹,古文“申”或作“ ”,“寅”或作“ ”,二字形近,故“申”讹为“寅”。为十日,癸丑为十五日,吉日,戊午为二十日,己未为二十一日,乙丑为二十七日,丙寅为二十八日,由甲寅至丁巳历五十日,传均缺书,盖卷二封膜昼以下有捝文。据卷四言,由阳纡至于西夏氏,又至于珠余氏及河首,由河首襄山以西始达舂山,即此五十日中所行之地也。丁巳为五月二十日,吉日,辛酉为二十四日,癸亥为二十六日,甲午为二十七日。季夏,丁卯为六月朔日,壬申为六日,己卯为十三日,庚辰为十四日,辛巳为十五日,壬午为十六日,甲申为十八日,辛卯为二十五日,癸巳为二十七日。孟秋,丁酉为七月一日,戊戌为二日,壬寅为六日,丙午为十日,丁未为十一日,己酉为十三日,庚戌为十四日,癸丑为十七日,丁巳为二十一日,己未为二十三日,癸亥为二十七日,吉日,甲子为二十八日,乙丑为二十九日,自丁未、己酉以下所记,均东归事。惟孟秋癸巳五日丁酉确为来年三月朔及五日。此作孟秋,疑所记有讹,或穆曾两至西方。丁酉、己酉以下所记,非本年之事,故《纪年》于十三年记西征,于十七年又记见西王母。惟孟秋、癸巳、孟冬、壬戌与十七年历术亦弗合,不可考矣。
《离骚经》云,摄提贞于孟陬兮,惟庚寅吾以降。王逸注云,太岁在寅曰摄提格。正月为陬,庚寅日也。近江宁陈氏玚作《屈子生卒年月考》以周历推之,谓楚宣王二十七年戊寅。其建寅之月,朔日己巳,二十二日为庚寅。今以夏历推之,楚宣王二十七年戊寅距入乙卯蔀四十九年,积月六百零六,闰余一,积日一万七千八百九十五,小余六百五十四,大余十五,得庚午为正月朔,庚寅为正月二十一日,屈子之生当在是年。顷襄王即位之岁,屈子之年四十六,自沈汨罗,其年盖五十余。
《史记·魏世家》系惠王迁梁于三十一年。《集解》引《汲冢纪年》云,梁惠成王九年四月甲寅徙都大梁。《索隐》疑《纪年》为误。
《汉书·地理志》颜注载臣瓒说所引汲郡古文,又以为惠王六年。
窃以旧本《纪年》以《魏史》志魏事年月,似信而有征。《史记》因魏失河西,追述迁都之事,非必迁梁在三十一年也。考《秦纪》及《六国表》均言孝公十年降魏安邑,孝公十年当惠王十九年,则魏迁大梁必在惠王三十一年前,疑迁梁之岁与失安邑之岁同。《纪年》原文盖作十九年,《集解》捝十字。《汉书》注作六年,六又九字之误。试以夏历推之,惠王十九年即周显王十七年,距入乙卯蔀四十年,积月四百九十四,闰余十四,积日一万四千八百八十八,小余二百三十二,大余八,得癸亥为正月朔。由是递推得,壬辰为二月朔,壬戌为三月朔,辛卯为四月朔,甲寅为二十四日,与《集解》所引宛合,乃今本《纪年》列此事于显王四年,其为后儒所改窜,夫何疑乎?
秦及汉初并用《颛顼历》。《颛顼历》以夏正为岁首。《晋书·律历志》引魏董巴议曰:颛帝以今之孟春正月为元,其时正月朔旦立春,五星会于天历营室也。冰冻始津,蛰虫始发,鸡始三号,天曰作时,地曰作昌,人曰作乐,鸟兽万物莫不应和,故颛帝圣人为历宗也。说本《大戴礼》又云夏为得天,以承尧舜,从颛帝之故也。
是其证。秦以十月为岁首,汉初因之。《史记·张苍传》云:以高祖十月始至霸上,因故《汉书》作故因秦时本正月为岁首,《续汉志·历志》载尚书令忠奏云,汉祖受命。因秦之纪,十月为年首,闰常在岁终。故书籍所纪,恒以岁首所在之岁为岁名。如《汉书·律历志》载《世经》云,汉高祖皇帝著纪伐秦继周,木生火为火德,天下号曰“汉”。距上元年十四万三千二十五岁。此用“三统”,与《颛顼历》靡涉。岁在大棣之东井二十二度,鹑首之六度也。故《汉志》曰,岁在大棣,名曰敦牂,太岁在午。考高祖三年,岁在乙未。其曰太岁在午者,据岁首所在之岁言也。《律历志》述公孙卿等议造汉历云,乃以前历上元泰初四千六百一十七岁此指大初初改之历言。至于元封七年,复得阏逢摄提格之岁中冬。此指岁阴言。十一月甲子朔旦冬至,日月在建星,太岁在子。王氏《杂志》改为寅,谬太甚。《世经》亦曰,汉历太初元年距上元十四万三千一百二十七岁。此指三统言。前十一月甲子朔旦冬至,岁在星纪,婺女六度。故《汉志》曰岁名困敦。考太初元年岁在丁丑,其曰岁星在子者,据岁首所在之岁言也。许宗彦、张文虎说同。《淮南子·天文训》云,淮南元年冬,太一在丙子,冬至甲子,立春丙子,高注云,淮南作书之元年也,又引一说云,淮南王安即位之元年,以纪时也。前说误甚,后说是。考《汉书·诸侯王表》安以文帝十六年四月丙寅绍封,是年岁在丁丑。
今日丙子,亦据岁首所在之岁言。考《颛顼历》是年距入壬申蔀五十年,积月六百一十八,闰余八,积日一万八千二百五十。小余六十二,大余十,得壬午为正月朔。
更以气余乘入蔀年,得一千零五十。如四而一得气,大余二百六十二,小余二。气大余满旬周去之,得二十二。命起壬申算外,得甲午为年前冬至,乃十一月十二日也。由是递推,则庚辰为立春,乃岁前十二月二十九日。淮南本文误午为子“立春”下脱二字。
注文“丙子”因以衍入。钱塘补注以“丙子”为注文,是也。《汉书·贾谊传》云,谊为长沙傅。三年,有鵩飞入谊舍。又载谊赋云,单阏之岁,四月孟夏,庚子日斜,史记作施。服集余舍。凡汉人系岁字于岁名下者,均指岁阴言,与岁在某某指太岁者不同。岁阴在卯,则太岁在丑。
考汉文帝四年岁在乙丑,五年岁在丙寅,是赋作于文帝五年,而曰单阏之岁,则必以斯年为乙丑,故并以岁阴为在卯。《文选》注引徐广曰:文帝六年岁在丁卯,则以单阏指太岁言。汪中《述学》云,《史记》历书太初元年焉,逢摄提格,上推孝文五年,是为昭阳单阏。贾生以孝文元年为博士,岁中超迁至大中大夫,旋出为长沙王傅。至是适得三年,其说是也。若此赋作于文帝四年,则至长沙未三岁,若作于六年,则已拜梁傅,自以五年为确。是年入壬申蔀三十九年,积月四百八十二,闰余七,积日一万四千二百三十三,小余二百一十八,大余十三,得乙酉为正月朔,四月无庚子,当系庚午之讹。庚午为四月十八日,子午形近而讹。此亦以岁首所在之岁为名之证也。既以岁首所在之岁为名,则与《颛顼历》所起乙卯元积年不合,故改从甲寅元。《续汉志·律历志》引蔡邕议,以为历数精微,去圣久远,得失更迭,术术无常,是以承秦历用颛顼,元用乙卯。注云,蔡邕《命论》即《月令论》之讹。曰,《颛顼历》术曰,天元正月己巳朔旦立春,俱以日月起于天庙,营室五度。《续志》又引刘洪上言云,己巳颛顼,秦所施用。汉兴草创,因而不革。
又云,乙卯之元,人正己巳朔旦立春,三光聚天庙五度。《续志》又云,故黄帝造历,元起辛卯,而颛顼用乙卯。又云,汉兴,承秦初,用乙卯。是《颛顼历》起于乙卯年己巳日也。《开元占经》卷一百五云,《颛顼历》上元乙卯至今开元二年。二百七十六万一千一十九算外,是唐人所见《颛顼历》亦以乙卯为元,乃《淮南·天文训》云,镇星以甲寅元始建斗岁。又云,太白元始,以正月甲寅与荧惑王氏《杂志》改为室。晨出东方。又云,天一元始,钱塘补注云“天”当为太历家所谓太岁也。正月建寅,日月俱入营室五度。七十六岁,日月复以正月入营室五度,五度无余分,名曰“一纪”,凡二十纪一千五百二十岁大终,王氏《杂志》曰:下当有“三终”二字。日月星辰,复始。甲寅元,据淮南说,则以《颛顼历》元起甲寅。《宋书·历志》载祖冲之议云,按五纪论《黄帝历》有四法,颛顼、夏、周并有二术。又云,《颛顼历》元岁在乙卯,而《命历序》云,此术设云岁在甲寅。《新唐书·历志》载一行《日度议》云,《颛顼历》上元甲寅岁正月甲寅。当作己巳。晨初合朔立春七曜皆直艮维之首。又云,夏时直月者,皆当十二月中,故因循夏令,其后吕不韦得之,以为秦法,更考中星,断取正距,以乙卯岁正月己巳合朔立春为上元。又引《洪范传》云,历纪始于颛顼上元太始,阏蒙摄提格之岁,毕陬之月,朔日己巳,立春七曜,俱在营室五度也。所引《洪范传》亦与淮南说合,是均《颛顼历》起元甲寅之说也。惟一行以乙卯元为不韦所改,其说似非。
盖斯历起元本在乙卯,秦汉改十月为岁初,因移前岁岁名于本岁,则上溯乙卯起元,亦复后移一岁,依《占经》所载,积年计之,汉高元年距入壬申蔀八年,壬申蔀首为丁亥。今汉高元年既蒙岁首所在之岁名称为甲午,则距壬申仅七年,与历术不合。然入蔀岁数必不可移,因于《颛顼历》所起之年亦以前岁之名为名,以甲寅代乙卯。盖起元之年既改,则蔀首所在之岁亦均上移,如乙卯元第二蔀首太岁在辛未,今改为甲寅元,则蔀首岁在庚午。馀可递推。而入蔀之年弗违旧历,则推算亦悉符。如《太初历》未改之前,其旧史所书晦朔依后人所命甲子,如汉高元年,太岁在乙未,文帝十六年,太岁在丁丑是。推以颛顼乙卯元之历,其日名大抵相符。具详《通鉴目录》及近人张文虎诸家之书,不悉举,其不合者,均字误。然按以当时所记载,其岁名悉后一年,则入蔀之年不符,安得合于乙卯元之历?以是知秦汉之历,均用甲寅元,盖岁名后移一岁,则元名不得不上移。至于起元之日,固靡所更,观蔡邕所言乙卯元,《洪范传》所言甲寅元,均言朔日己巳,则蔀名次第二元亦同。其所谓甲寅元、乙卯元者,特一就本术言,一就汉初所名言耳。太初元年之后,所命甲子不复蒙前岁为名。《汉书·乐志》载天马歌曰,天马徕执徐时。据《李广利传》、《西域传》,知汉得大宛千里马,在太初四年。是汉以太初四年岁在庚辰,则太初元年改历后,亦改岁名为丁丑。又《翼奉传》载奉封事云,今年太阴建于甲戌,考封事上于初元二年。所云太阴,即谓岁建。若太初元年为丙子,则是年当为癸未矣。又《王莽传》谓建国五年苍龙癸酉,由是上溯太初元年,亦非丙子。乃钱氏大昕则曰:太初元年,太岁当在丙子,而东汉人以为丁巳,由不用超辰。今观以上数证,则丁丑非后人所强名,盖斯年五月以前,仍蒙前岁名,丙子改历以后,则定名丙子。近张氏文虎以《三统》推星宿伏见法推之,知太初元年当名赤奋,若固不易之说矣。此东汉之儒所由均以乙卯元为说欤。
秦汉之历改岁首而不改月名,王氏引之论之详矣。《史记·秦始皇本纪》四年十月庚寅,蝗虫从东方蔽天。《六国表》作七月。
考《史记》以秦事系年,均十月在前,《本纪》记是年事,既有三月军罢之文,此下不当有十月。盖古文“七”字作“”,因讹为“十”。
近金山顾氏观光以《颛顼历》推之,得七月丁亥朔,四日庚寅,所推是也。又谓此十月为夏之七月。盖沿秦史之旧,失于追改,则其说大非。张文虎《史记札记》曰,按《颛顼历》十月戊辰朔,二十三日庚寅。《表》作“七月”误。其说不知何据。《本纪》又云,三十七年十月癸丑,始皇出游。
《论衡·实知》篇同。七月丙寅,始皇崩于沙丘平台。今考三十七年十月,即三十六年之冬,距入壬申蔀三年,积月三十七,闰余二,积日一千零九十二,小余六百零五,大余十二,得甲申为正月朔,庚戌为十月朔,四日癸丑。然推至次年七月,日名无丙寅,则“丙寅”必系“丙申”之讹。与《穆传》“申”、“寅”互讹同例,为七月二十一日。
乃顾氏则云,真诰注谓,秦之七月,夏之四月,是亦讹沿秦史旧文。
不知《史记·李斯传》亦言始皇十月出行,七月至沙丘病甚,与《本纪》同,岂亦误沿秦史乎?盖秦汉实无改月名之事也。自是以外,则《秦纪》所书日名,顾氏所释,均与历合。盖秦历虽用甲寅元,其入蔀之年,亦与乙卯元靡异也。
《吕氏春秋·序意》篇云,维秦八年,岁在涒滩,秋甲子朔。高注云,秦始皇即位八年也。近儒解各不同,非据超辰为说,即云“八”系“六”讹,惟超辰之说既为《颛顼历》所无,以汉高元年太岁在午逆推之,始皇六年亦当蒙前岁为岁名,称为己未,且三秋朔日,均非甲子,则二说均非。窃以始皇八年,当称辛酉。惟七年称庚申,考之《史记·秦本纪》庄襄之卒称四年五月。夫庄襄仅立三年,而史云四年,盖自即嗣子之位计,非自即改元之岁计也。兹云八年,例亦与符。又考《史记·吕不韦列传》,先记《吕览》成书事,乃及始皇七年夏后之薨,则不韦作序,不得迟至八年,盖即始皇即位之七年也。岁在涒滩,犹《淮南》所谓太一在丙子耳。惟“甲子”二字,当系“庚子”之讹。是年距入癸酉蔀五十年,积月六百一十八,闰余八,积日一万八千二百五十,小余六十一,大余十,得癸卯为正月朔。由是递推,得七月庚子朔。盖“庚甲”旧文形近,甲篆作“ ”,而钟鼎古文“庚”或作“ ”,见子父庚爵。故讹“庚”为“甲”,爰书之以备一说云。《春秋繁露·止雨》篇云,二十一年八月庚申朔丙午,此江都王建国之年也。卢氏文弨校本,改“庚申”为“甲申”。今考《汉书·诸侯王表》,江都易王非以景帝二年,立为汝南王二年,徙江都,二十八年薨。子王建以元朔二年嗣位。由景帝二年下迄武帝元朔二年,正合二十八年之数,则易王二十一年,当武帝建元六年。以《颛顼历》推之,是年距入辛亥蔀三年,积月三十七,闰余二,积日一千零九十二,小余六百零五,大余十二,得癸亥为正月朔。由是递推,则七月庚申朔,八月庚寅朔,十七日丙午,是“庚申”确为“庚寅”之讹。卢氏所改,盖据本传,非立廿七年为说,以二十一年当元光元年。然与初封之岁不合也。
《汉书·律历志》载三统术谓,鲁历不正,以闰余一之,岁为蔀首,此就《三统历》校之也。顾氏观光谓,《占经》所载鲁历,积年少三千六十年,则鲁历自庚子起元,下迄开元二年,当积二百七十六万四千三百九十四算外。《占经》旧文作二百七十六万一千三百三十四算外。
今依是术推之,《三统历》庚戌起元之年,即鲁历入第五百七十五元第二纪二十蔀之第四十七年。是年《三统历》至朔同日,闰在岁前,鲁历则闰余十八,闰在正月后。故凡鲁历入蔀之年,三统置闰,均在岁前十一月后。如鲁桓公十一年,鲁历入己酉蔀,而桓公十年三统置闰在十一月后,文公二年鲁历入戊子蔀,襄公二十四年入丁卯蔀,而文公元年襄公二十三年,三统置闰均在十一月后,是其例。以《三统历》校之,则鲁历蔀首均为三统闰余一之岁。故子骏以是为讥,至于鲁历本术,固亦以至朔同日,无闰余之岁为蔀首也。又《唐书·历志》载,一行《中气议》云,鲁历南至,又先周历四分日之三而朔,后九百四十分日之五十一,故僖公五年辛亥为十二月晦,壬子为正月朔。又推日蚀,密于殷术,其以闰余一为蔀首,亦取合于当时也。章首当作蔀首。又《日度议》云,祖冲之、张胄玄促上章,岁至太初元年,冲之以癸亥鸡鸣冬至,而胄玄以癸亥日出,欲令合于甲子,而适与鲁历相会。自此推僖公五年,鲁历以庚戌冬至,而二家皆以甲寅。今考僖公五年,鲁历距入己酉蔀九年,积月五百六十八,闰余十八,积日一万六千七百七十三,小余四百八十八,大余三十三,得壬午为天正朔,而周历是年则以辛亥为天正朔,至朔同日。具见《五经算术》。此即一行所谓后周历而朔也。又以月余二十一乘入蔀年,如四而一得气,大余二百四十一,小余二,气大余满旬,周去之得一。命起己酉算外,适得庚戌为冬至,周历得气,大余四十七,此指满旬周去后之数。小余一,冬至适为辛亥,此即一行所谓先周历四分日之三也。小余满四,从气大余,鲁历若加小余,三则至,与周历同日,今较周历减其三,故曰:周历四分日之三也。惟岁前周历朔,小余系二百三十五。见《五经算术注》。较之鲁历当减“二百五十三”。一行谓,朔后九百四十分日之五十一,“之”字以下三字确为讹文。一行《合朔议》又以鲁历校春秋晦朔。今以鲁历推之,大抵均符。惟僖五年九月己卯晦,于鲁历当为八月。一行以为与经合,盖偶误耳。乃汪氏日桢《古今推步诸术考》于一行所解鲁历未克诠明,亦其疏也。
《史记·天官书》历术甲子篇,王应麟以为非太初是也,以为古历则非。近王氏引之以为殷术,成氏蓉镜又以为即太初术,其说均非。此历界颛顼、太初之间,乃《颛顼历》既废,《太初历》未行之历也。盖公孙卿等所改历,仅改《颛顼历》积年以定统法,至于气、朔、大小余之数,仍承前历,故朔,大余二十九,小余四百九十九,气大余十五,小余七,悉与《颛顼历》相同。历书载武帝诏谓,十一月甲子朔旦冬至,已詹其更,以七年为太初元年,历书又云,封泰山,因诏御史。据《汉书·武纪》,帝幸泰山在岁首十月,则此诏班于冬至前,《武纪》又言,夏五月正历,以正月为岁首,则五月以前,均行此历,虽较《太初历》为疏,然岁阴纪岁之法,置闰密疏之次,惟此特详。又章蔀岁首,咸在冬至,亦与《颛顼历》不同,则此亦古历之一矣。惜《天官书》记其法未若《汉志》载三统之详,此后儒所由滋异说欤!
西汉器兼志月日者,舍王莽所造诸器外,丞相府漏壶铭有六年三月己亥之文,丙午钩铭有“六年五月丙午”之文。然造自何帝之时,今莫克考。其可考者,薛氏款识载有莲勺炉,其铭文云,五凤二年正月己丑,是年为汉宣帝十九年。据《通鉴目录》所推《太初历》,是年正月戊寅朔,则己丑确为十二日,其非赝器甚明。又阮氏《积古斋款识》载有阳泉使舍薰炉,其铭文云,五年六安十三年正月乙未,上捝四字,考《汉书·诸侯王表》,六安恭王庆以元狩二年封子夷王,以始元四年嗣位,传云,夷王立十年,是也。
《表》作十四年,衍“四”字。孙缪王以本始元年嗣位。传云缪王立二十二年,非表作二十三年,是也。缪王十三年当宣帝神爵元年,据《宣帝本纪》,神爵改元在是年三月,则三月以前仍称元康五年,是即此炉造制之年也。是年正月癸未朔,十三日乙未,“五年”以上当有“元康”二字,昭然明矣。