《晉書》·晉書卷十八志第八律曆下

魏尚書郎楊偉表曰:「臣覽載籍,斷考曆數,時以紀農,月以紀事,其所由來,遐而尚矣。乃自少昊,則玄鳥司分;顓頊、帝嚳,則重黎司天;唐帝、虞舜,則羲和掌日,三代因之,則世有日官。日官司曆,則頒之諸侯,諸侯受之,則頒于境內。夏后之世,羲和湎淫,廢時亂日,則書載胤征。由此觀之,審農時而重人事,歷代然之也。逮至周室既衰,戰國橫騖,告朔之羊,廢而不紹,登臺之禮,滅而不遵,閏分乖次而不識,孟陬失紀而莫悟,大火猶西流,而怪蟄蟲之不藏也。是時也,天子不協時,司曆不書日,諸侯不受職,日御不分朔,人事不恤,廢棄農時。仲尼之撥亂於春秋,託褒貶糾正,司曆失閏,則譏而書之,登臺頒朔,則謂之有禮。自此以降,暨于秦漢,乃復以孟冬為歲首,閏為後九月,中節乖錯,時月紕繆,加時後天,蝕不在朔,累載相襲,久而不革也。至武帝元封七年,始乃悟其繆焉,於是改正朔,更曆數,使大才通人,更造太初曆,校中朔所差,以正閏分;課中星得度,以考疏密。以建寅之月為正朔,以黃鍾之月為曆初。其曆斗分太多,後遂疏闊。至元和二年,復用四分曆,施而行之,至于今日,考察日蝕,率常在晦,是則斗分太多,故先密後疏而不可用也。是以臣前以制典餘日,推考天路,稽之前典,驗之以蝕朔,詳而精之,更建密曆,則不先不後,古今中天。以昔在唐帝,協日正時,允釐百工,咸熙庶績也。欲使當今國之典禮,凡百制度,皆韜合往古,郁然備足,乃改正朔,更曆數,以大呂之月為歲首,以建子之月為曆初。臣以為昔在帝代,則法曰顓頊,曩自軒轅,則曆曰黃帝,暨至漢之孝武革正朔,更曆數,改元曰太初,因名太初曆。今改元為景初,宜曰景初曆。臣之所建景初曆,法數則約要,施用則近密,治之則省功,學之則易知。雖復使研桑心算,隸首運籌,重黎司晷,羲和察景,以考天路,步驗日月,究極精微,盡術數之極者,皆未能並臣如此之妙也。是以累代曆數,皆疏而不密,自黃帝以來,常改革不已。」〔一〕

  壬辰元以來,至景初元年丁巳歲,積四千四十六,算上。

  此元以天正建子黃鍾之月為曆初,元首之歲,夜半甲子朔旦冬至。

  元法,萬一千五十八。

  紀法,千八百四十三。

  紀月,二萬二千七百九十五。

  章歲,十九。

  章月,二百三十五。

  章閏,七。

  通數,十三萬四千六百三十。

  日法,四千五百五十九。

  餘數,九千六百七十。

  周天,六十七萬三千一百五十。

  紀歲中,〔二〕十二。

  氣法,十二。

  沒分,六萬七千三百一十五。

  沒法,九百六十七。

  月周,二萬四千六百三十八。

  通法,四十七。

  會通,七十九萬百一十。

  朔望合數,六萬七千三百一十五。

  入交限數,七十二萬二千七百九十五。

  通周,十二萬五千六百二十一。

  周日日餘,二千五百二十八。

  周虛,二千三十一。

  斗分,四百五十五。

  甲子紀第一紀首合朔,月在日道。交會差率四十一萬二千九百一十九。遲疾差率,十萬三千九百四十七。

  甲戌紀第二紀首合朔,月在日道。交會差率,五十一萬六千五百二十九。遲疾差率,七萬三千七百六十七。

  甲申紀第三紀首合朔,月在日道。交會差率,六十二萬一百三十九。遲疾差率,四萬三千五百八十七。

  甲午紀第四紀首合朔,月在日道。交會差率,七十二萬三千七百四十九。〔三〕遲疾差率,一萬三千四百七。

  甲辰紀第五紀首合朔,月在日道。〔四〕交會差率,三萬七千二百四十九。遲疾差率,十萬八千八百四十八。

  甲寅紀第六紀首合朔,月在日道。〔五〕交會差率,十四萬八百五十九。遲疾差率,七萬八千六百六十八。

  交會紀差十萬三千六百一十。求其數之所生者,置一紀積月,以通數乘之,會通去之,所去之餘,紀差之數也。以之轉加前紀,則得後紀。〔六〕加之未滿會通者,則紀首之歲天正合朔月在日道;滿去之,則月在日道表。加表,滿在;加,滿在表。

  遲疾紀差三萬一百八十。求其數之所生者,置一紀積月,以通數乘之,通周去之,餘以減通周,所減之餘,紀差之數也。以之轉減前紀,則得後紀。〔七〕不足減者,加通周。

  求次元紀差率,轉減前元甲寅紀差率,餘則次元甲子紀差率也。求次紀,如上法也。

  推朔積月術曰:置壬辰元以來,盡所求年,外所求,以紀法除之,所得算外,所入紀第也,餘則入紀年數也。以章月乘之,如章歲而一,為積月,不盡為閏餘。閏餘十二以上,其年有閏。閏月以無中氣為正。

  推朔術曰:以通數乘積月,為朔積分。如日法而一,為積日,不盡為小餘。以六十去積日,餘為大餘。大餘命以紀,算外,所求年天正十一月朔日也。

  求次月,加大餘二十九,小餘二千四百一十九,小餘滿日法從大餘,命如前,次月朔日也。小餘二千一百四十以上,其月大也。

  推弦望,加朔大餘七,小餘千七百四十四,小分一,小分滿二從小餘,小餘滿日法從大餘,大餘滿六十去之,餘命以紀,算外,上弦日也。又加,得望、下弦、後月朔。其月蝕望者,定小餘如在中節者定小餘如所近中節間限數、限數以下者,算上為日。〔八〕望在中節前後各四日以還者,視限數;望在中節前後各五日以上者,視間限。

  推二十四氣術曰:置所入紀年,外所求,以餘數乘之,滿紀法為大餘,不盡為小餘。大餘滿六十去之,餘命以紀,算外,天正十一月冬至日也。

  求次氣,加大餘十五,小餘四百二,小分十一,小分滿氣法從小餘,小餘滿紀法從大餘,命如前,次氣日也。

  推閏月術曰:以閏餘減章歲,餘以歲中乘之,滿章閏得一月;餘滿半法以上,亦得一月。數從天正十一月起,算外,閏月也。閏有進退,以無中氣御之。

  大雪十一月節  限數千二百四十二  間限千二百四十八

  冬至十一月中  限數千二百五十四  間限千二百四十五

  小寒十二月節  限數千二百三十五  間限千二百二十四

  大寒十二月中  限數千二百一十三  間限千一百九十二

  立春正月節  限數千一百七十二  間限千一百四十七

  雨水正月中  限數千一百二十二〔九〕  間限千九十三

  驚蟄二月節  限數千六十五  間限千三十六〔一0〕

  春分二月中  限數千八  間限九百七十九

  清明三月節  限數九百五十一  間限九百二十五

  穀雨三月中  限數九百  間限八百七十九

  立夏四月節  限數八百五十七  間限八百四十

  小滿四月中  限數八百二十三  間限八百一十二〔一一〕

  芒種五月節  限數八百  間限七百九十九

  夏至五月中  限數七百九十八  間限八百一〔一二〕

  小暑六月節  限數八百五  間限八百一十五

  大暑六月中  限數八百二十五  間限八百四十二

  立秋七月節  限數八百五十九  間限八百八十三

  處暑七月中  限數九百七  間限九百三十五

  白露八月節  限數九百六十二  間限九百九十二

  秋分八月中  限數千二十一  間限千五十一

  寒露九月節  限數千八十  間限千一百七

  霜降九月中  限數千一百三十三  間限千一百五十七

  立冬十月節  限數千一百八十一  間限千一百九十八

  小雪十月中  限數千二百一十五  間限千二百二十九

  推沒滅術曰:因冬至積日有小餘者,加積一,以沒分乘之,以沒法除之,所得為大餘,不盡為小餘。大餘滿六十去之,餘命以紀,算外,即去年冬至後沒日也。

  求次沒,加大餘六十九,小餘五百九十二,小餘滿沒法得一,從大餘,命如前。小餘盡,為滅也。

  推五行用事日:立春、立夏、立秋、立冬者,即木、火、金、水始用事日也。各減其大餘十八,小餘四百八十三,小分六,餘命以紀,〔一三〕算外,各四立之前,土用事日也。大餘不足減者,加六十;小餘不足減者,減大餘一,加紀法;小分不足減者,滅小餘一,加氣法。

  推卦用事日:因冬至大餘,六其小餘,即坎卦用事日也。加小餘萬九十一,滿元法從大餘,即中孚用事日也。

  求次卦,各加大餘六,小餘九百六十七。其四正各因其中日,六其小餘。

  推日度術曰:以紀法乘朔積日,滿周天去之,餘以紀法除之,所得為度,不盡為分。命度從牛前五起,宿次除之,不滿宿,則天正十一月朔夜半日所在度及分也。

  求次日,日加一度,分不加,經斗除斗分,分少,退一度。〔一四〕

  推月度術曰:以月周乘朔積日,滿周天去之,餘以紀法除之,所得為度,不盡為分,命如上法,則天正十一月朔夜半月所在度及分也。

  求次月,小月加度二十二,分八百六;大月又加一日,度十三,分六百七十九;分滿紀法得一度,則次月朔夜半月所在度及分也。其冬下旬,月在張、心署之。〔一五〕

  推合朔度術曰:以章歲乘朔小餘,滿通法為大分,不盡為小分。以大分從朔夜半日度分,〔一六〕分滿紀法從度,命如前,則天正十一月合朔日月所共合度也。

  求次月,加度二十九,大分九百七十七;小分四十二,小分滿通法從大分,大分滿紀法從度,經斗除其分,則次月合朔日月所共合度也。

  推弦望日所在度:加合朔度七,大分七百五,小分十,微分一,微分滿二從小分,小分滿通法從大分,大分滿紀法從度,命如前,則上弦日所在度也。又加,得望、下弦、後月合也。

  推弦望月所在度:加合朔度九十八,大分千二百七十九,小分三十四,數滿命如前,〔一七〕即上弦月所在度也。又加,得望、下弦、後月合也。

  推日月昏明度術曰:日以紀法,月以月周,乘所近節氣夜漏,二百而一,為明分。日以減紀法,月以減月周,餘為昏分。各以分加夜半,如法為度。

  推合朔交會月蝕術曰:置所入紀朔積分,以所入紀下交會差率之數加之,以會通去之,餘則所求年天正十一月合朔去交度分也。以通數加之,滿會通去之,餘則次月合朔去交度分也。以朔望合數各加其月合朔去交度分,滿會通去之,餘則各其月望去交度分也。朔望去交分,如朔望合數以下,入交限數以上者,朔則交會,望則月蝕。

  推合朔交會月蝕月在日道表術曰:置所入紀朔積分,以所入紀下交會差率之數加之,〔一八〕倍會通去之,餘不滿會通者,紀首表,天正合朔月在表;紀首,天正合朔月在。滿會通去之,表滿在,滿在表。

  求次月,以通數加之,滿會通去之,加滿在表,加表滿在。先交會後月蝕者,朔在表則望在表,朔在則望在。先月蝕後交會者,看蝕月朔在則望在表,朔在表則望在。交會月蝕如朔望合數以下,則前交後會;如入交限數以上,則前會後交。其前交後會近於限數者,則豫伺之;〔一九〕前會後交近於限數者,則後伺之。〔二0〕

  求去交度術曰:其前交後會者,今去交度分如日法而一,所得則卻去交度分也。其前會後交者,以去交度分減會通,餘如日法而一,所得則前去交度也。餘皆度分也。去交度十五以上,雖交不蝕也,十以下是蝕,十以上,虧蝕微少,光晷相及而已。虧之多少,以十五為法。

  求日蝕虧起角術曰:其月在外道,先交後會者,虧蝕西南角起;〔二一〕先會後交者,虧蝕東南角起。其月在內道,先交後會者,虧蝕西北角起;先會後交者,虧蝕東北角起。虧蝕分多少,如上以十五為法。會交中者,蝕盡。月蝕在日之衝,虧角與上反也。

  月行遲疾度  損益率  盈縮積分  月行分

  一日十四度十四分  益二十六  盈初  二百八十

  二日十四度十一分  益二十三  盈積分一十一萬八千五百三十四  二百七十七

  三日十四度八分  益二十  盈積分二十二萬三千三百九十一  二百七十四

  四日十四度五分  益十七  盈積分三十一萬四千五百七十一  二百七十一

  五日十四度一分  益十三  盈積分三十九萬二千七十四  二百六十七

  六日十三度十四分  益七  盈積分四十五萬一千三百四十一  二百六十一

  七日十三度七分  損  盈積分四十八萬三千二百五十四  二百五十四

  八日十三度一分  損六  盈積分四十八萬三千二百五十四  二百四十八

  九日十三度十六分  損十  盈積分四十五萬五千九百  二百四十四

  十日十二度十三分  損十三  盈積分四十一萬三百一十  二百四十一

  十一日十二度十一分  損十五  盈積分三十五萬一千四十三  二百三十九

  十二日十二度八分  損十八  盈積分二十八萬二千六百五十八  二百三十六

  十三日十二度五分  損二十一  盈積分二十萬五百九十六  二百三十三

  十四日十二度三分  損二十三  盈積分十萬四千八百五十七  二百三十一

  十五日十二度五分  益二十一  縮初  二百三十三

  十六日十二度七分  益十九  縮積分九萬五千七百三十九  二百三十五

  十七日十二度九分  益十七  縮積分十八萬二千三百六十  二百三十七

  十八日十二度十二分  益十四  縮積分二十五萬九千八百六十三  二百四十

  十九日十二度十五分  益十一  縮積分三十二萬三千六百八十九  二百四十三

  二十日十二度十八分  益八  縮積分三十七萬三千八百三十八  二百四十六

  二十一日十三度三分  益四  縮積分四十一萬三百一十  二百五十

  二十二日十三度七分  損  縮積分四十二萬八千五百四十六  二百五十四

  二十三日十三度十二分  損五  縮積分四十二萬八千五百四十六  二百五十九

  二十四日十三度十八分  損十一  縮積分四十萬五千七百五十一  二百六十五

  二十五日十四度五分  損十七  縮積分三十五萬五千六百二  二百七十一

  二十六日十四度十一分  損二十三  縮積分二十七萬八千九十九  二百七十七

  二十七日十四度十二分〔二二〕  損二十四  縮積分十七萬三千二百四十二〔二三〕  二百七十八

  周日十四度十三分有小分六百二十六  損二十五有小分六百二十六  縮積分六萬三千八百二十六〔二四〕  二百七十九有小分六百二十六

  推合朔交會月蝕入遲疾曆術曰:置所入紀朔積分,以所入紀下遲疾差率之數加之,以通周去之,餘滿日法得一日,不盡為日餘,命日算外,則所求年天正十一月合朔入曆日也。

  求次月,加一日,日餘四千四百五十。〔二五〕求望,加十四日,日餘三千四百八十九。日餘滿日法成日,日滿二十七去之。又除餘如周日餘,日餘不足除者,減一日,加周虛。

  推合朔交會月蝕定大小餘:〔二六〕以入曆日餘乘所入曆損益率,以損益盈縮積分,為定積分。以章歲減所入曆月行分,餘以除之,所得以盈減縮加本小餘。〔二七〕加之滿日法者,交會加時在後日;減之不足者,交會加時在前日。月蝕者,隨定大小餘為日加時。入曆在周日者,以周日日餘乘縮積分,為定積分。以損率乘入曆日餘,又以周日日餘乘之,以周日日度小分并之,以損定積分,餘為後定積分。以章歲減周日月行分,餘以周日日餘乘之,以周日度小分并之,以除後定積分,所得以加本小餘,如上法。

  推加時:以十二乘定小餘,滿日法得一辰,數從子起,算外,則朔望加時所在辰也。有餘不盡者四之,如日法而一為少,二為半,三為太。又有餘者三之,如日法而一為強,半法以上排成之,不滿半法廢棄之。〔二八〕以強并少為少強,并半為半強,并太為太強。得二強者為少弱,以之并少為半弱,以之并半為太弱,以之并太為一辰弱。以所在辰命之,則各得其少、太、半及強、弱也。其月蝕望在中節前後四日以還者,〔二九〕視限數;在中節前後五日以上者,視間限。定小餘如間限,限數以下者,以算上為日。

  斗二十六分四百五十五牛八女十二虛十危十七室十六壁九

  北方九十八度分四百五十五

  奎十六婁十二胃十四昴十一畢十六觜二參九

  西方八十度

  井三十三鬼四柳十五星七張十八翼十八軫十七

  南方百十二度

  角十二亢九氐十五房五心五尾十八箕十一

  東方七十五度

  中節  日行所在度  日行黃道去極度  日中晷影  晝漏刻  夜漏刻  昏中星  明中星

  冬至

  十一月中  斗二十一

  少〔三0〕  百一十五度  丈三尺  四十五  五十五〔三一〕  奎六弱  亢二少強

  小寒

  十二月節  女二少  百一十三強  丈二尺三寸  四十五八分  五十四二分  婁六半強〔三二〕  氐七強

  大寒

  十二月中  虛五半弱〔三三〕  百一十太

  弱〔三四〕  丈一尺  四十六八分  五十三二分  胃十一太強〔三五〕  心半

  立春

  正月節  危十太弱  百六少弱  九尺六寸  四十八六分  五十一四分  畢五少弱  尾七半弱

  雨水

  正月中  室八太

  強〔三六〕  百一強  七尺九寸五分  五十八分  四十九二分  參六半弱  箕半〔三七〕

  驚蟄

  二月節  壁八強  九十五強  六尺五寸〔三八〕  五十三三分  四十六七分  井十七少弱  斗初少

  春分

  二月中  奎十四少強  八十九少強  五尺二寸五分  五十五八分  四十四二分  鬼四  斗十一弱

  清明

  三月節  胃一半  八十三少弱  四尺一寸五分  五十八三分  四十一七分  星四太  斗二十一半

  穀雨

  三月中  昴二太  七十七太強  三尺二寸  六十五分  三十九五分  張十七  牛六半〔三九〕

  立夏

  四月節  畢六

  太〔四0〕  七十三少弱  二尺五寸二分  六十二四分  三十七六分  翼十七太  女十少弱

  小滿

  四月中  參四少弱  六十九太  尺九寸八分  六十三九分  三十六一分  角太弱  危太弱

  芒種

  五月節  井十半

  弱〔四一〕  六十七少弱  尺六寸八分  六十四九分  三十五一分  亢五太  危十四強

  夏至

  五月中  井二十五半

  強〔四二〕  六十七強  尺五寸  六十五  三十五  氐十二少弱  室十二強

  小暑

  六月節  柳三太強  六十七太強  尺七寸  六十四七分  三十五三分  尾一太強  奎二太強

  大暑

  六月中  星四強  七十  二尺  六十三八分  三十六二分  尾十五半強〔四三〕  婁三太

  立秋

  七月節  張十二少  七十三半強  二尺五寸五分  六十二三分  三十七七分  箕九太強  胃九太弱〔四四〕

  處暑

  七月中  翼九半  七十八半強  三尺三寸三分  六十二分  三十九八分  斗十少  畢三太

  白露

  八月節  軫六太  八十四少強  四尺三寸五分  五十七八分  四十二二分  斗二十一強  參五少強

  秋分

  八月中  角五弱  九十半強  五尺五寸〔四五〕  五十五二分  四十四八分  牛五少  井十六少強

  寒露

  九月節  亢八半

  弱〔四六〕  九十六太強  六尺八寸五分  五十二六分  四十七四分  女七太  鬼三少強

  霜降

  九月中  氐十四少

  強  百二少強  八尺四寸  五十三分  四十九七分  虛六太  星三太

  立冬

  十月節  尾四半強  百七少強  丈〔四七〕  四十八二分  五十一八分  危八強  張十五太強

  小雪

  十月中  箕一太強  百一十一弱  丈一尺四寸  四十六七分  五十三三分  室三半弱〔四八〕  翼十五太

  大雪

  十一月節  斗六  百一十三太強  丈二尺五寸六分  四十五五分  五十四五分  壁半強  軫十五少強〔四九〕

  右中節二十四氣,如術求之,得冬至十一月中也。加之得次月節,加節得其月中。中星以日所在為正,〔五0〕置所求年二十四氣小餘,四之,如法得一為少;不盡少,三之,如法為強;所得以減其節氣昏明中星各定。〔五一〕

  推五星術

  五星者,木曰歲星,火曰熒惑星,土曰填星,金曰太白星,水曰辰星。凡五星之行,有遲有疾,有留有逆。曩自開闢,清濁始分,則日月五星聚于星紀。發自星紀,並而行天,遲疾留逆,互相逮及。星與日會,同宿共度,則謂之合。從合至合之日,則謂之終。各以一終之日與一歲之日通分相約,終而率之,歲數歲則謂之合終歲數,歲終則謂之合終合數。〔五二〕二率既定,則法數生焉。以章歲乘合數,為合月法。以紀法乘合數,為日度法。以章月乘歲數,為合月分;如合月法為合月數,合月之餘為月餘。以通數乘合月數,如日法而一,為大餘。以六十去大餘,餘為星合朔大餘。大餘之餘為朔小餘。以通數乘月餘,以合月法乘朔小餘,并之,以日法乘合月法除之,所得星合入月日數也。餘以通法約之,為入月日餘。〔五三〕以朔小餘減日法,餘為朔虛分。以曆斗分乘合數,為星度斗分。木、火、土各以合數減歲數,餘以周天乘之,如日度法而一,所得則行星度數也,餘則度餘。金、水以周天乘歲數,如日度法而一,所得則行星度數也,餘則度餘也。

  木:合終歲數,一千二百五十五。

  合終合數,一千一百四十九。

  合月法,二萬一千八百三十一。〔五四〕

  日度法,二百一十一萬七千六百七。

  合月數,一十三。

  月餘,一萬一千一百二十二。

  朔大餘,二十三。

  朔小餘,四千九十三。

  入月日,一十五。

  月餘,一百九十九萬五千六百六十四。

  朔虛分,四百六十六。

  斗分,五十二萬二千七百九十五。

  行星度,三十三。

  度餘,一百四十七萬二千八百六十九。

  火:合終歲數,五千一百五。

  合終合數,二千三百八十八。

  合月法,四萬五千三百七十二。

  日度法,四百四十萬一千八十四。

  合月數,二十六。

  月餘,二萬三。

  朔大餘,四十七。

  朔小餘,三千六百二十七。

  入月日,一十三。

  日餘,三百五十八萬五千二百三十。

  朔虛分,九百三十二。

  斗分,一百八萬六千五百四十。

  行星度,五十。

  度餘,一百四十一萬二千一百五十。

  土:合終歲數,三千九百四十三。

  合終合數,三千八百九。

  合月法,七萬二千三百七十一。

  日度法,七百一萬九千九百八十七。

  合月數,一十二。

  月餘,五萬八千一百五十三。

  朔大餘,五十四。

  朔小餘,一千六百七十四。

  入月日,二十四。

  日餘,六十七萬五千三百六十四。

  朔虛分,二千八百八十五。

  斗分,一百七十三萬三千九十五。

  行星度,一十二。

  度餘,五百九十六萬二千二百五十六。

  金:合終歲數,一千九百七。

  合終合數,二千三百八十五。

  合月法,四萬五千三百一十五。

  日度法,四百三十九萬五千五百五十五。

  合月數,九。

  月餘,四萬三百一十。

  朔大餘,二十五。

  朔小餘,三千五百三十五。

  入月日,二十七。〔五五〕

  日餘,十九萬四千九百九十。

  朔虛分,一千二十四。

  斗分,一百八萬五千一百七十五。〔五六〕

  行星度,二百九十二。

  度餘,十九萬四千九百九十。

  水:合終歲數,一千八百七十。

  合終合數,一萬一千七百八十九。

  合月法,二十二萬三千九百九十一。

  日度法,二千一百七十二萬七千一百二十七。

  合月數,一。

  月餘,二十一萬五千四百五十九。

  朔大餘,二十九。

  朔小餘,二千四百一十九。

  入月日,二十八。

  日餘,二千三十四萬四千二百六十一。

  朔虛分,二千一百四十。

  斗分,五百三十六萬三千九百九十五。

  行星度,五十七。

  度餘,二千三十四萬四千三百六十一。

  推五星術曰:置壬辰元以來盡所求年,以合終合數乘之,滿合終歲數得一,名積合,不盡名為合餘。以合終合數減合餘,得一者星合往年,得二者合前往年,無所得,合其年。餘以減合終合數,為度分。金、水積合,偶為晨,奇為夕。

  推五星合月:以月數、月餘各乘積合,餘滿合月法從月,為積月,不盡為月餘。以紀月除積月,所得算外,所入紀也,餘為入紀月。副以章閏乘之,〔五七〕滿章月得一為閏,以減入紀月,餘以歲中去之,餘為入歲月,命以天正起,算外,星合月也。其在閏交際,以朔御之。

  推合月朔:以通數乘入紀月,滿日法得一,為積日,不盡為小餘。以六十去積日,餘為大餘,命以所入紀,算外,星合朔日也。

  推入月日:以通數乘月餘,合月法乘朔小餘,并之,通法約之,所得滿日度法得一,則星合入月日也,不滿為日餘。命日以朔,算外,入月日也。

  推星合度:以周天乘度分,滿日度法得一為度,不盡為餘。命以牛前五度起,算外,星所合度也。

  求後合月:以月數加入歲月,以餘加月餘,餘滿合月法得一月。月不滿歲中,即在其年;滿去之,有閏計焉,餘為後年;再滿,在後二年。金、水加晨得夕,加夕得晨也。

  求後合朔:以朔大、小餘數加合朔月大、小餘,其月餘上成月者,又加大餘二十九,小餘二千四百一十九,小餘滿日法從大餘,命如前法。

  求後入月日:〔五八〕以入月日、日餘加入月日及餘,餘滿日度法得一。其前合朔小餘滿其虛分者,去一日;後小餘滿二千四百一十九以上,去二十九日;不滿,去三十日,其餘則後合入月日,命以朔。求後合度,以度數及分,〔五九〕如前合宿次命之。

  木:晨與日合,伏,順,十六日九十九萬七千八百三十二分行星二度百七十九萬五千二百三十八分,而晨見東方,在日後。順,疾,日行五十七分之十一,五十七日行十一度。順,遲,日行九分,五十七日行九度而留。不行二十七日而旋。逆,日行七分之一,八十四日退十二度而復留。二十七日復遲,日行九分,五十七日行九度而復順。疾,日行十一分,五十七日行十一度,在日前,夕伏西方。順,十六日九十九萬七千八百三十二分行星二度百七十九萬五千二百三十八分,而與日合。凡一終,三百九十八日百九十九萬五千六百六十四分,行星三十三度百四十七萬二千八百六十九分。

  火:晨與日合,伏,七十二日百七十九萬二千六百一十五分行星五十六度百二十四萬九千三百四十五分,而晨見東方,在日後。順,日行二十三分之十四,百八十四日行百一十二度。更順,遲,日行十二分,九十二日行四十八度而留。不行十一日而旋。逆,日行六十二分之十七,六十二日退十七度而復留。十一日復順,遲,日行十二分,九十二日行四十八度而復疾。日行十四分,百八十四日行百一十二度,在日前,夕伏西方。順,七十二日百七十九萬二千六百一十五分行星五十六度百二十四萬九千三百四十五分,而與日合。凡一終,七百八十日三百五十八萬五千二百三十分,行星四百一十五度二百四十九萬八千六百九十分。

  土:晨與日合,伏,十九日三百八十四萬七千六百七十五分半行星二度六百四十九萬一千一百二十一分半,而晨見東方,在日後。順,行百七十二分之十三,〔六0〕八十六日行六度半而留。不行三十二日半而旋。逆,日行十七分之一,〔六一〕百二日退六度而復留。〔六二〕不行三十二日半復順,日行十三分,八十六日行六度半,在日前,夕伏西方。順,十九日三百八十四萬七千六百七十五分半行星二度六百四十九萬一千一百二十一分半,而與日合。凡一終,三百七十八日六十七萬五千三百六十四分,行星十二度五百九十六萬二千二百五十六分。

  金:晨與日合,伏,六日退四度,而晨見東方,在日後而逆。遲,日行五分之三,十日退六度。留,不行七日而旋。順,遲,日行四十五分之三十三,四十五日行三十三度而順。疾,日行一度九十一分之十四,九十一日行百五度而順。益疾,日行一度九十一分之二十一,九十一日行百一十二度,在日後,而晨伏東方。順,四十二日十九萬四千九百九十分行星五十二度十九萬四千九百九十分,〔六三〕而與日合。一合,二百九十二日十九萬四千九百九十分,〔六四〕行星如之。

  金:夕與日合,伏,順,四十二日十九萬四千九百九十分行星五十二度十九萬四千九百九十分,而夕見西方,在日前。順,疾,日行一度九十一分之二十一,九十一日行百一十二度而更順。〔六五〕遲,日行一度十四分,九十一日行百五度而順。〔六六〕益遲,日行四十五分之三十三,四十五日行三十三度而留。不行七日而旋。〔六七〕逆,日行五分之三,十日退六度,在日前,夕伏西方。逆,六日退四度,而與日合。凡再合一終,五百八十四日三十八萬九千九百八十分,〔六八〕行星如之。

  水:晨與日合,伏,十一日退七度,而晨見東方,在日後。逆,疾,一日退一度而留。不行一日而旋。順,遲,日行八分之七,八日行七度而順。疾,日行一度十八分之四,十八日行二十二度,在日後,晨伏東方。順,十八日二千三十四萬四千二百六十一分行星三十六度二千三十四萬四千二百六十一分,而與日合。凡一合,五十七日二千三十四萬四千二百六十一分,行星如之。

  水:夕與日合,伏,十八日二千三十四萬四千二百六十一分行星三十六度二千三十四萬四千二百六十一分,而夕見西方,在日前。順,疾,日行一度十八分之四,十八日行二十二度而更順。遲,日行八分之七,八日行七度而留。〔六九〕不行一日而旋。逆,一日退一度,在日前,夕伏西方。逆,十一日退七度,而與日合。凡再合一終,百一十五日千八百九十六萬一千三百九十五分,行星如之。

  五星曆步術

  以法伏日度餘加星合日度餘,餘滿日度法得一從全,命之如前,得星見日及度餘也。以星行分母乘見度分,如日度法得一,分不盡,半法以上亦得一,而日加所行分,分滿其母得一度。逆順母不同,以當行之母乘故分,如故母而一,當行分也。留者承前,逆則減之,伏不盡度,除斗分,〔七0〕以行母為率。分有損益,前後相御。

  武帝侍中平原劉智,以斗曆改憲,推四分法,三百年而減一日,以百五十為度法,三十七為斗分。推甲子為上元,至泰始十年,歲在甲午,九萬七千四百一十一歲,上元天正甲子朔夜半冬至,日月五星始于星紀,得元首之端。飾以浮說,名為正曆。

  當陽侯杜預著春秋長曆,說云:

  日行一度,月行十三度十九分之七有奇,日官當會集此之遲疾,以考成晦朔,以設閏月。閏月無中氣,而北斗邪指兩辰之間,所以異於他月。積此以相通,四時八節無違,乃得成歲,其微密至矣。得其精微,以合天道,則事敘而不愆。故傳曰:「閏以正時,時以作事。」然陰陽之運,隨動而差,差而不已,遂與曆錯。故仲尼、丘明每於朔閏發文,蓋矯正得失,因以宣明曆數也。

  劉子駿造三正曆以修春秋,〔七一〕日蝕有甲乙者三十四,而三正曆惟得一蝕,比諸家既最疏。又六千餘歲輒益一日,凡歲當累日為次,而故益之,此不可行之甚者。

  自古已來,諸論春秋者多違謬,或造家術,或用黃帝已來諸曆,以推經傳朔日,皆不諧合。日蝕於朔,此迺天驗,經傳又書其朔蝕,可謂得天,而劉賈諸儒說,皆以為月二日或三日,公違聖人明文,其弊在於守一元,不與天消息也。

  余感春秋之事,嘗著曆論,極言曆之通理。其大指曰:天行不息,日月星辰各運其舍,皆動物也。物動則不一,雖行度有大量可得而限,累日為月,累月為歲,以新故相涉,不得不有毫末之差,此自然之理也。故春秋日有頻月而蝕者,有曠年不蝕者,理不得一,而算守數,故曆無不有先後也。始失於毫毛,而尚未可覺,積而成多,以失弦望晦朔,則不得不改憲以從之。書所謂「欽若昊天,曆象日月星辰」,易所謂「治曆明時」,言當順天以求合,非為合以驗天者也。推此論之,春秋二百餘年,其治曆變通多矣。雖數術絕滅,遠尋經傳微旨,大量可知,時之違謬,則經傳有驗。學者固當曲循經傳月日、日蝕,以考晦朔,以推時驗;而皆不然,各據其學,以推春秋,此無異於度己之跡,而欲削他人之足也。

  余為曆論之後,至咸寧中,善算者李修、卜顯,〔七二〕依論體為術,名乾度曆,表上朝廷。其術合日行四分數而微增月行,用三百歲改憲之意,二元相推,七十餘歲,承以強弱,強弱之差蓋少,而適足以遠通盈縮。時尚書及史官,以乾度與泰始曆參校古今記注,乾度曆殊勝泰始曆,上勝官曆四十五事。今其術具存。又并考古今十曆以驗春秋,知三統之最疏也。

  春秋大凡七百七十九日,三百九十三經,三百八十六傳。其三十七日蝕。三無甲乙。

  黃帝曆得四百六十六日,一蝕。

  顓頊曆得五百九日,八蝕。

  夏曆得五百三十六日,十四蝕。

  真夏曆得四百六十六日,一蝕。

  殷曆得五百三日,十三蝕。

  周曆得五百六日,十三蝕。

  真周曆得四百八十五日,一蝕。

  魯曆得五百二十九日,十三蝕。

  三統曆得四百八十四日,一蝕。

  乾象曆得四百九十五日,七蝕。

  泰始曆得五百一十日,十九蝕。

  乾度曆得五百三十八日,十九蝕。

  今長曆得七百四十六日,三十三蝕。失三十三日,經傳誤;四日蝕,〔七三〕三無甲乙。

  漢末,宋仲子集七曆以考春秋,案其夏、周二曆術數,皆與藝文志所記不同,故更名為真夏、真周曆也。

  穆帝永和八年,著作郎琅邪王朔之造通曆,以甲子為上元,積九萬七千年,四千八百八十三為紀法,千二百五為斗分,〔七四〕因其上元為開闢之始。

  後秦姚興時,當孝武太元九年,歲在甲申,天水姜岌造三紀甲子元曆,其略曰:「治曆之道,必審日月之行,然後可以上考天時,下察地化。一失其本,則四時變移。故仲尼之作春秋,日以繼月,月以繼時,時以繼年,年以首事,明天時者人事之本,是以王者重之。自皇羲以降,暨于漢魏,各自制曆,以求厥中。考其疏密,惟交會薄蝕可以驗之。然書契所記,惟春秋著日蝕之變,自隱公訖于哀公,凡二百四十二年之間,日蝕三十有六,考其晦朔,不知用何曆也。班固以為春秋因魯曆,魯曆不正,故置閏失其序。魯以閏餘一之歲為蔀首,檢春秋置閏不與此蔀相符也。命曆序曰:孔子為治春秋之故,退修殷之故曆,使其數可傳於後。如是,春秋宜用殷曆正之。今考其交會,不與殷曆相應,以殷曆考春秋,月朔多不及其日,又以檢經,率多一日,傳率少一日。但公羊經傳異朔,於理可從,而經有蝕朔之驗,傳為失之也。服虔解傳用太極上元,太極上元迺三統曆劉歆所造元也,何緣施於春秋?於春秋而用漢曆,於義無乃遠乎?傳之違失多矣,不惟斯事而已。襄公二十七年冬十有一月乙亥朔,日有蝕之。傳曰:『辰在申,司曆過,再失閏也。』考其去交分,交會應在此月,而不為再失閏也。案歆曆於春秋日蝕一朔,其餘多在二日,因附五行傳,著朓與側匿之說云:春秋時諸侯多失其政,故月行遲。歆不以曆失天,而為之差說。日之蝕朔,此乃天驗也,而歆反以己曆非此,冤天而負時曆也。杜預又以為周衰世亂,學者莫得其真,今之所傳七曆,皆未必是時王之術也。今誠以七家之曆,以考古今交會,信無其驗也,皆由斗分疏之所致也。殷曆以四分一為斗分,三統以一千五百三十九分之三百八十五為斗分,乾象以五百八十九分之一百四十五為斗分,今景初以一千八百四十三分之四百五十五為斗分,疏密不同,法數各異。殷曆斗分粗,故不施於今。乾象斗分細,故不得通於古。景初斗分雖在粗細之中,而日之所在乃差四度,日月虧已,〔七五〕皆不及其次,假使日在東井而蝕,以月驗之,迺在參六度,差違乃爾,安可以考天時人事乎?今治新曆,以二千四百五十一分之六百五為斗分,日在斗十七度,天正之首,上可以考合於春秋,下可以取驗於今世。以之考春秋三十六蝕,正朔者二十有五,蝕二日者二,蝕晦者二,誤者五,凡三十三蝕,〔七六〕其餘蝕經无日諱之名,无以考其得失。圖緯皆云『三百歲斗曆改憲』。以今新曆施於春秋之世,日蝕多在朔。春秋之世,下至於今,凡一千餘歲,交會弦望故進退於三蝕之間,此法迺可永載用之,豈三百歲斗曆改憲者乎?」

  甲子上元以來,至魯隱公元年己未歲,凡八萬二千七百三十六,至晉孝武太元九年甲申歲,凡八萬三千八百四十一,算上。

  元法,七千三百五十三。〔七七〕

  紀法,二千四百五十一。

  通數,十七萬九千四十四。

  日法,六千六十二。

  月周,三萬二千七百六十六。

  氣分,萬二千八百六十。

  元月,九萬九百四十五。

  紀月,三萬三百一十五。

  沒分,四萬四千七百六十一。

  沒法,六百四十三。〔七八〕

  斗分,六百五。

  周天,八十九萬五千二百二十。一名紀日。

  章月,二百三十五。

  章歲,十九。

  章閏,七。

  歲中,十二。

  會數,四十七。日月八百九十三歲,凡四十七會,分盡。

  氣中,十二。

  甲子紀交差,九千一百五十七。

  甲申紀交差,六千三百三十七。

  甲辰紀交差,三千五百一十七。〔七九〕

  周半,一百二十七。

  朔望合數,九百四十一。

  會歲,八百九十三。

  會月,萬一千四十五。

  小分,二千一百九十六。〔八0〕

  章數,一百二十九。〔八一〕

  小分,二千一百八十三。

  周閏大分,七萬六千二百六十九。

  曆周,四十四萬七千六百一十。半周天。

  會分,三萬八千一百三十四。〔八二〕

  差分,一萬一千九百八十六。〔八三〕

  會率,一千八百八十二。

  小分法,二千二百九。

  入交限,一萬一百四。

  小周,二百五十四。

  甲子紀差率,四萬九千一百七十八。

  甲申紀差率,五萬八千二百三十一。〔八四〕

  甲辰紀差率,六萬七千二百八十四。

  通周,十六萬七千六十三。

  周日日餘,三千三百六十二。

  周虛,二千七百一。

  五星約法,據出見以為正,不繫於元本。然則算步究於元初,約法施於今用,曲求其趣,則各有宜,故作者兩設其法也。岌以月蝕檢日宿度所在,為曆術者宗焉。又著渾天論,以步日於黃道,駁前儒之失,并得其中矣。

  校勘記

  〔一〕是以累代曆數至常改革不已此二十一字移在上文「故先密後疏而不可用也」後,文義較順。恐係錯簡。

  〔二〕紀歲中占經一0五無「紀」字。古曆法無「紀歲中」之名,「紀」字當刪。

  〔三〕七百四十九「四」原作「三」,宋志上作「四」,與推算合,今據改。

  〔四〕紀首合朔月在日道依曆理「」當作「表」。

  〔五〕紀首合朔月在日道依曆理「」當作「表」。

  〔六〕則得後紀「紀」字原無,今依宋志上補。

  〔七〕則得後紀「紀」字原無,今依宋志上補。

  〔八〕定小餘如在中節者定小餘如所近中節間限數限數以下者算上為日此段有衍文。宋志上作「定小餘如所近中節間限、限數以下者,算上為日」,則有脫誤。按文義,應作「定小餘如在所近中節間限、限數以下者,算上為日」。

  〔九〕限數千一百二十二限數依下法求之:以一百除日法四千五百五十九,乘以中節夜漏刻之半。依法求得雨水之限數為千一百二十二。原「十」上脫「二」字,今補。

  〔一0〕間限千三十六間限係該中節之限數與後中節限數之平均數。依法求得驚蟄之間限為千三十六。原作「千二十五」,誤,今改正。

  〔一一〕間限八百一十二「二」原作「三」,今改。

  〔一二〕間限八百一各本原無「一」字,今從宋本。

  〔一三〕餘命以紀原無「餘」字,據宋志上補。

  〔一四〕分少退一度「少」下原有「進」字,據宋志上刪。

  〔一五〕月在張心署之「月」原作「夕」,據續漢志下改。

  〔一六〕以大分從朔夜半日度分「度分」原作「夜」,今據宋志上並參酌文義改。

  〔一七〕數滿命如前「數滿」,各本誤倒作「滿數」,宋本不誤,今從之,與宋志上合。

  〔一八〕以所入紀下交會差率之數加之「以」下原衍「前」字,據宋志上刪。

  〔一九〕則豫伺之校文:宋志「之」下有「前月」二字。

  〔二0〕則後伺之校文:宋志「之」下有「後月」二字。

  〔二一〕虧蝕西南角起各本「蝕」下有「而」字,據宋志上刪。

  〔二二〕十二分原作「十一分」。以月平行度十三度七分加損率二十四分,分滿十九進,得本日月行十四度十二分。因據改。

  〔二三〕縮積分十七萬三千二百四十二「二」字各本無,宋志上有,與推算合,因據補。

  〔二四〕縮積分六萬三千八百二十六「三千」原作「二千」,「二十六」原作「二十四」,據宋志上改。

  〔二五〕加一日日餘四千四百五十「一日」下原無「日」字,據局本、宋志上補。

  〔二六〕推合朔交會月蝕定大小餘「蝕」原誤作「餘」,據宋志上改。

  〔二七〕所得以盈減縮加本小餘「本」原作「大」,據宋志上改。

  〔二八〕不滿半法廢棄之「半」,各本無,據宋志上補。

  〔二九〕其月蝕望在中節前後四日以還者「月」下原有「餘」字,「還」下有「日以上」三字,今據宋志上刪。

  〔三0〕斗二十一少「一」字原無,據宋志上補。

  〔三一〕五十五原作「四十五」,據宋志上改。

  〔三二〕婁六半強「六」原誤作「五」。景初曆二十四氣各數係沿用四分曆數字,其日行所在度、昏、明中星尾數則略有出入,此係兩曆斗分微有差異所致。本表數字均據李銳四分術注所述方法加以校算。凡差異較大或另有所根據者,加以改正。如僅尾數有出入,則於校記指出正確之數,不加改正。

  〔三三〕虛五半弱原無「五」字,「弱」作「強」。原數誤,今改正。

  〔三四〕百一十太弱「一十」原作「一十一」,「弱」原作「強」,據宋志上改。

  〔三五〕胃十一太強當作「胃十一半強」。

  〔三六〕室八太強「強」原作「弱」,據宋志上改。

  〔三七〕箕半宋志上作「半弱」,據核算,當作「半強」。

  〔三八〕六尺五寸原「五寸」下有「五分」二字。據續漢志下、宋志上刪「五分」二字。

  〔三九〕牛六半「牛」原作「斗」,據宋志上改。

  〔四0〕畢六太當作「畢七」。

  〔四一〕井十半弱「十」原作「少」,據宋志上改。

  〔四二〕井二十五半強「強」原作「弱」,據宋志上改。

  〔四三〕尾十五半強「半強」當作「半弱」。

  〔四四〕胃九太弱「弱」原作「強」,據宋志上改。

  〔四五〕五尺五寸「五寸」下原有「二分」二字,據續漢志下刪。

  〔四六〕亢八半弱「半弱」當作「少弱」。

  〔四七〕丈原作「丈八寸三分」。李銳四分曆注:祖沖之稱四分志立冬中景長一丈,立春中景九尺六寸。相加半之,得九尺八寸,與沖之術立春、立冬景正合。按:景初曆晷影承襲四分曆術,續漢志四分曆晷影原誤作一丈四寸二分,景初曆則誤作一丈八寸三分,今據李說刪「八寸三分」四字。

  〔四八〕室三半弱「半弱」當作「太強」。

  〔四九〕軫十五少強「少強」當作「少」。

  〔五0〕中星以日所在為正「中」字原脫,據宋志上補。

  〔五一〕所得以減其節氣昏明中星各定「定」下疑脫「數」字。

  〔五二〕歲數歲則謂之合終歲數歲終則謂之合終合數依文義,當作「歲則謂之合終歲數,終則謂之合終合數」。

  〔五三〕為入月日餘「入月」二字原脫,據宋本、宋志上補。

  〔五四〕合月法二萬一千八百三十一「合月」下原有「度」字,「三十一」原作「四十一」,據宋志上刪改。

  〔五五〕入月日二十七「七」原作「五」,據宋志上改。

  〔五六〕斗分一百八萬五千一百七十五「一百」原作「二百」,據宋志上改。

  〔五七〕副以章閏乘之「副」字疑衍。

  〔五八〕求後入月日「後」下當有「合」字。

  〔五九〕求後合度以度數及分原無「度以」二字,據宋志上補。

  〔六0〕順行百七十二分之十三「順」下當有「日」字。

  〔六一〕日行十七分之一「十」字原無,據宋志上補。

  〔六二〕百二日退六度「日」下原有「半而」二字,據宋志上刪。

  〔六三〕十九萬四千九百九十分各本無「九百」二字,殿本有,今從之,與宋志上合。

  〔六四〕二百九十二日十九萬四千九百九十分「二日」原作「三日」,又無「九百」,據宋志上改補。

  〔六五〕九十一日「九」原作「六」,據宋志上改。

  〔六六〕行百五度而順勞校:「五」上疑脫「百」字。按:宋志上有「百」字,今據補。

  〔六七〕不行七日而旋原無「而」字,據宋志上補。

  〔六八〕九百八十分原作「八百八十分」,據宋志上改。

  〔六九〕八日行七度而留「八」上原有「十」字,據宋志上刪。

  〔七0〕伏不盡度除斗分「盡」當作「書」。「除斗分」依文義,當作「經斗除斗分」。

  〔七一〕劉子駿造三正曆「三正曆」當作「三統曆」。下同。

  〔七二〕卜顯斠注:長曆「卜顯」作「夏顯」,續漢志注引同。

  〔七三〕四日蝕此係指長曆較之春秋失四日蝕,當作夾注,而各本誤刻為大字。今改為小字注文。

  〔七四〕千二百五為斗分「二百」,各本原作「三百」。王朔之襲黃初曆,以四千八百八十三為紀法,千二百五為斗分。「三百」當作「二百」,今據正。

  〔七五〕日月虧已周校:「虧已」當作「虧損」。

  〔七六〕凡三十三蝕孫人龍晉書考證:正朔者二十五,二日者二,晦者二,誤者五,共三十四蝕。此云「三十三蝕」,必有誤字。

  〔七七〕元法七千三百五十三「五十三」原無「三」字。三紀法,得元法七千三百五十三,「三」字應有,今補。

  〔七八〕沒法六百四十三「四」原作「三」。以二十除氣分萬二千八百六十,得沒法六百四十三。今改正。

  〔七九〕甲申紀交差六千三百三十七甲辰紀交差三千五百一十七原作「甲申紀交差六千三百四十七」,「甲辰紀交差三千一百一十七」,「四」作「三」,「五」作「一」。按:交差之紀差為二千八百二十,以之減甲子紀交差九千一百五十七,得甲申紀交差六千三百三十七。又減,得甲辰紀交差三千五百一十七。今改正。

  〔八0〕小分二千一百九十六原作「日分法二千五百」。此係會分餘數,以朔望合數乘曆數,得四億二千一百二十萬一千十,如會月而一,得會分三萬八千一百三十四,餘萬一千四十五分之萬九百八十。餘數各以五約之,得二千二百九分之二千一百九十六。前者為小分法,後者當為小分。原「小分」誤為「日分法」,數字訛脫更甚,今正。

  〔八一〕章數一百二十九「九」原作「七」。以章歲十九除紀法二千四百五十一,得章數一百二十九。「九」誤「七」,今改正。

  〔八二〕會分三萬八千一百三十四原「三十」訛作「四十」,今改正。

  〔八三〕差分一萬一千九百八十六此上原有「月周三萬二千七百六十六」一行,以其復出,故刪。

  〔八四〕甲申紀差率五萬八千二百三十一「三十一」原作「四十」。差率之紀差為九千五十三,以之加甲子紀差率,得甲申紀差率五萬八千二百三十一。原「三十一」誤作「四十」,今改正。