律曆初階下|一:曆法簡史

非常簡短地介紹一下中國古代曆法的歷史。本文各正史曆志簡稱某志開元占經卷一〇五簡稱占經。有很多我箇人的認識,錯訛不足之處敬請指正

『四分質樸,魏晉古茂,北系鈍拙,南系超捷,隋系煌煌,唐系赫赫,北宋明明,南宋唯唯,授時集大成,時憲脫胎換骨


中國古代曆法不僅僅是曆法,更是一套完整的天文學體系。它採用一整套獨特的方法來計算氣朔閏、交食、晷漏、五星。基本框架是日月五星七政視運動的各種週期朔望月、近點月、交點月、恆星月、回歸年、交食週期、五星會合週期,天文常數二十八宿距度、黃赤交角、黃白交角、晝夜漏刻、晷影長度、歲差,月離表月亮在一近點月週期內逐日運行情況、日躔表太陽在一回歸年內逐氣的運行情況、五星動態表五星在一會合週期內的運行情況。計算七政位置時,將某一曆元到該時刻的長度,模相應週期,得餘數,根據表格,用內插法線性內插、二次等間距內插、二次不等間距內插、三次內插得到具體位置。這種方法又與中國古代特有的天文儀器、宇宙模型、天象觀測等,構成了天文學體系的豐富內容。

曆法更迭一覽

  1. 三代皆觀象授時。時一年爲 365 日。

  2. 春秋晚期產生推步曆法,此時的算法不可考。

  3. 戰國

    1. 早期推步曆法走向成孰,產生了甲寅元殷曆
    2. 中期有庚子元魯曆、乙卯元顓頊曆
    3. 晚期有辛卯元黃帝曆、丁巳元周曆、乙丑元夏曆1
    • 郜積意《春秋》曆譜:「晉魯曆不同,非周正夏正之差。魯曆與列國曆法互異,以置閏有殊,故月每差一月;以朔法不一,故日每差一日。」2
    • 楚簡用甲殷元《顓頊大正》,正月歲首建亥;楚帛書用乙卯元《顓頊小正》,正月歲首建寅。3
  4. 秦至漢武帝 顓頊。根據出土材料,可以瞭解到顓頊曆經過了多次調整,分爲如下階段。4 目前方案合於惠帝三年簡。5 有一條不合:秦王政廿年前 237,七月甲寅,進餘 3/4卻是乙卯。

    1. 秦獻公十九年前 366–秦武王四年前 307建寅,以寅月冬至所在月爲子月爲正月、爲年首,與漢代以後絕大多數曆法相同。
    2. 秦昭王元年前 306–秦莊襄王三年前 247建寅,以寅月爲正月,以十月爲年首,卽一年十二箇月的順序爲 10–11冬至月–12–1–⋯–9。這就是標準的顓頊曆
    3. 秦始皇元年前 246–秦二世三年前 207小餘增加 3/4 日。
    4. 漢高帝元年前 206–呂后三年前 184小餘在上一階段基礎上減去 210/940 日。四分曆法一月爲 29+499/940 日,940 卽日法
    5. 呂后四年前 183–文帝後元元年前 163變閏章,之前是固定冬至置閏法的閏章,現在是無中氣置閏法的閏章,但是閏月依然放在年末,卽後九月。
    6. 在上一階段基礎上退餘 25/940 日文帝後元 2 年前 162–武帝元封 7 年前 104 年四月文帝後元二年。
  5. 漢武帝至章帝 鄧平太初曆術甲子篇太初元年前 104 年五月–章帝元和二年 85 年正月。這期間行太初曆,但可能也用曆術甲子篇史記,爲古四分曆,我在殷曆基礎上減去朔餘 3/4,以爲太初元年冬至朔旦夜半作爲推步參考。太初改曆的內容:1、曆元從立春改爲年前朔旦冬至。2、正月爲歲首。3、行鄧平曆。4、歲末置閏改爲無中置閏。5、藉半日法:用途是「月或朔見」,其實就是承認後天半日。中國古代曆法

  6. 漢章帝以後 後漢四分章帝元和二年 85 年二月–漢末

  7. 三國兩晉

    1. 221-263以漢統自居,沿用後漢四分
    2. 劉洪乾象吳黃武二年 223–280 吳亡「二年春正月⋯⋯改四分,用乾象歷。」三國志卷四七
    3. 楊偉景初魏明帝景初元年 237–終晉沿用景初–劉宋元嘉行用之前
  8. 南朝

    1. 何承天元嘉宋元嘉廿二年 445–509
    2. 祖沖之大明梁武帝天監九年 510–陳亡 589。經過祖沖之之子祖暅力爭,得以行用。
  9. 北朝參考 廖育棟

    1. 後秦 384–417姜岌三紀甲子元姜岌三紀甲子元曆行用年份考
    2. 北涼 397–439趙𢾺玄始玄始元年 412–北涼亡
    3. 北魏 386–534
      1. 景初建都平城 398–451
      2. 玄始文成帝興安元年 452–522
      3. 張龍祥李業興等九家綜合而成正光孝明帝正光四年 523–558
    4. 東魏 534–550李業興興和興和二年 540–亡。算法全襲正光,僅參數不同。
    5. 北齊 550–577宋景業天保天保二年 551–亡
    6. 西魏 535–557沿用正光
    7. 北周 557–581
      1. 明克讓武成元年 559–565
      2. 甄鸞天和天和元年 566–宣政元年578
      3. 馬顯丙寅元大象大象元年 579–583
  10. 581–618

    1. 張賔開皇隋開皇四年 584–開皇十六年 596,以元嘉大象爲基礎,得以行用。劉孝孫批評張賔曆粗疏,劉孝孫被罷。劉孝孫死後,楊素等舉薦張冑玄
    2. 張冑玄大業開皇十七年 597–亡。另有張孟賓張孟賔張賔是兩箇人甲子元劉孝孫,二人同爲張子信門生。劉焯採劉孝孫,稍損益以爲皇極,與大業頗有參差,最終大業得以行用。這一時期的紛紜可以參考王荣彬 隋初改历之争
    1. 傅仁均戊寅元高祖武德二年 619–664
    2. 李淳風麟德高宗麟德二年 665–728
    3. 一行大衍玄宗開元十七年 729–757。有所謂大衍九執公案。
    4. 至德乾元元年 758–上元三年 762。算法全襲大衍,節氣推後二日。
    5. 郭獻之五紀肅宗寶應元年 762–783
    6. 正元德宗興元元年 784–806五紀正元綜合大衍麟德,唯唯而已。
    7. 徐昂觀象穆宗元和二年 807–821。「察斂啓閉之候,循用舊法,測驗不合。」沒有任何線索,只能用正元來補。
    8. 徐昂宣明822–892宣明晷漏、交會稍增損,更立新術以步五星,其餘沿襲大衍
    9. 邊岡崇玄昭宗景福二年 893–950
  11. 五代 907–960

    1. 梁、唐、漢沿用崇玄
    2. 馬重績乙未元調元天福五年 940–946
    3. 951–960王樸欽天後周顯德三年 956–周亡,宋初 960–963 沿用沿用。
  12. 契丹遼 907–1125廖育棟

    1. 馬重績調元曆應曆十一年 961 司天王白、李正等進曆–993
    2. 賈俊大明統和十二年 994–亡
  13. 1115–1234

    1. 楊級大明天會十五年 1137–1181
    2. 趙知微重修大明大定廿二年 1182–亡,蒙古沿用至 1281授時
  14. 960–1279

    1. 王處訥應天964–982建隆四年 963 成。宋代行用時間見中國古代曆法第606頁
    2. 吳昭素、徐瑩、董昭吉各上新曆,最後用吳昭素乾元983–1000
    3. 史序儀天1001–1023
    4. 宋行古崇天1024–1064,中間用明天,後又用崇天1068–1074
    5. 明天1065–1067。歷史背景見董煜宇从奉元历改革看北宋天文管理的绩效自然科學史研究2008年2期
    6. 沈括衛樸奉元1075–1093不存,以觀天代之。
    7. 觀天1094–1102
    8. 占天1103–05失傳。
    9. 紀元1106–27
    10. 失載1128–35
    11. 統元1136–67
    12. 乾道1168–76
    13. 淳熙1177–90
    14. 會元1191–98
    15. 統天1199–1207、1208–51開禧期間與統天並推。
    16. 開禧1208–51
    17. 淳祐1252失傳。
    18. 會天1253–70失傳。
    19. 成天1271–76
    20. 本天1277–79失傳。
  15. 1206–1370郭守敬授時1281–1367

  16. 1368–1644大統1368–1662

  17. 1644–1911時憲曆

    1. 西洋新法曆書1645–79
    2. 康熙永年曆法1680–1726
    3. 曆象考成1727–33
    4. 曆象考成後編1734–1913

大統存在版本的區別,主要是閏應、轉應、交應三應及月食時差、定用分、旣內外分算法。我根據相關資料理出下表,詳見李亮明代曆法的計算機模擬分析與綜合研究3.3 節。

授時曆經大統通軌大統曆志
曆元至元辛巳洪武甲子
閏應20.185020.205018.20708
轉應13.190413.020520.9690
交應26.01878626.038811.510508
時差$\frac{卯酉前後分^2}{47800}$$\frac{10000-卯酉前後分}{100}$不用時差
定用分授時的$\frac{6}{7}$
旣內分$\sqrt{(10-旣分) 旣分}*\frac{5740}{定限行度}$$\sqrt{(15-月食分秒) 月食分秒}*\frac{4920}{定限行度}$$\sqrt{(月食分秒 -10) 月食分秒}*\frac{4920}{定限行度}$
晨昏大都除了正統十四年後的一小段時間用北京,其餘都用南京

元明實行曆書用的是授時曆經大統通軌。梅文鼎對大統通軌並不很認同,在編修大統曆志時刻意向授時曆經靠攏李亮頁 68。例如大統通軌晨昏立成頁 128,冬至晨分二千六百八一七〇,日出就是 0.29317,比宋代曆法早 0.6 刻,授時大都是 0.309204。

幾種不同版本《明史》對三種曆法的提要:

大統回回西洋
湯斌大統曆以元統《曆法通軌》爲斷回回西洋二曆法咸列於後,備稽考焉同左
黃百家大統取元統《通軌》及弧矢測圓、三差算法,以著授時所未備回回曆前代僅載其名,今列於後,以備省覽西洋法即本朝所行時憲曆,另有成書,特採其議論綱要與古法不同者,以示權輿焉
萬斯同同上回回曆前代僅存其名,未嘗施用,無庸俱載西洋法即本朝所行時憲曆,另有成書,特採其議論綱要與古法不同者,以備參考焉
王鴻緒同上回回曆前代僅載其名,而後世罕有習者,遂失傳。今訪諸明季藏書之家,得其本,列於其後,以備省覽西洋法即本朝所行時憲曆,另有成書,茲略撮其議論,以示權輿焉
張廷玉大統曆則述立法之原,以補《元志》之未備回回曆始終隸於欽天監,與大統參用,亦附錄焉

目前找到的崇禎曆書和曆象考成的不同:1、日躔用對分圓;2、月離用未經改動的第谷模型,未增加次均輪;3、時差(日差)表合二為一;4、日食用黃平象限;5、基本參數。

永年表和新法曆書的區別似乎只有改進了太陽最卑應與最卑速度。永年表的日躔表第一年爲1678戊午,排了678年到辛丑。第一年冬至次日軫辛丑,平行47分7秒19微,最高衝7度4分4秒。崇禎曆書二百年恆年表當日平行相同,最高衝6度37分29秒。

曆法發展大勢

  • 曆法史的第一次重大變革是戰國初期古四分曆出現,標誌著曆法從觀象授時走向推步。
  • 第二次是太初曆,開創了諸多重要議題。
  • 第三次是漢末乾象,歲實朔策突破四分曆框架,加上月行遲疾、月行三道,發明定朔推算的方法,用以步交食。
  • 第四次是祖沖之大明,增歲差恆星年與回歸年之差,破章法改變 19 年 7 閏的古閏章,此後每曆都有不同的章法。
  • 第五次是劉焯皇極,這一次稍顯複雜。後魏末年,張子信避亂海島,發現日行盈縮,門人劉孝孫、張孟賔用之於曆,推日食超於鄭元偉董峻甲寅宋景業天保。次年北齊亡於北周,劉孝孫、張孟賔曆未得行用。現在見到最早的日行遲疾表是張冑玄大業,但是與後世日躔表完全不同,大業的日行遲疾只能直接加在定朔上,不能用於推算定氣。皇極會古通今,引入「日行盈縮、交道表裏、五星遲疾」疇人傳,有了成孰的日躔表,可以計算定氣,發明二次差內插,此後唐宋曆法都不出皇極框架。唐宋一些節點性質的曆法都各有發明。如麟德「廢章蔀紀元,而用總法」疇人傳,閏章的槪念徹底退出曆法。大衍將內插法運用得爐火純青,發明不等間距二次內插,晷影差分表甚至達到五次,將月亮視差固定爲表格,發明不同緯度的晷漏求法中國古代曆法第 552 頁崇玄引入符天「相減相乘法」,計算五星遲疾等。明天將所有計算全部公式化。統天用歲實消長、朔實消長。
  • 第六次是授時,幾乎快到陰陽曆的終點了。授時全面用公式,這一點源於明天;各項參數都用小數點,不用傳統的分數,廢調日法;歲實消長、取消上元積年源於統天——可謂集大成。
  • 第七次是清代時憲,底層更換爲西法,用定氣注曆。

有了以上認識,我們可以將古曆分爲以下系統是按照類型來分,而非行用時代

  • 四分系:從古六曆到後漢四分曆
  • 魏晉系:從劉洪乾象姜岌三紀
  • 北系:從玄始到張賔開皇
  • 南系:從元嘉到初唐戊寅
  • 隋系:劉孝孫張孟賔皇極麟德
  • 唐系:大衍欽天
  • 北宋系:崇玄觀天
  • 南宋系:紀元爲代表
  • 授時系:授時大統
  • 回回系
  • 時憲系:清代四部曆書

賛曰:「四分質樸,魏晉古茂,北系鈍拙,南系超捷,隋系煌煌,唐系赫赫,北宋明明,南宋唯唯,授時集大成,時憲脫胎換骨。」北系沒有歲差,恢復了古曆的統法蔀法,與同時期的南系相比非常落後。乾象創調日法,我稱其爲古法。隋至唐初是三系交錯的時候,這期間行用的四部曆法:開皇大業戊寅皇極麟德分別是北系開皇源自大象–南系大業師法祖沖之,又用日行遲疾–南系戊寅源自大業–隋系麟德皇極爲基礎,最終隋系獲勝,過渡到大衍開創的唐系。唐系大量吸收天竺系精神,到唐末崇玄始用公式,直接引導了宋系的公式化進程。北宋亮點是其公式化大發展;南宋除了統天則幾乎一無是處,全部沿用紀元的算法。古法至於宋系而衰亂,僅年甲子、日甲子、朔望月、回歸年參與上元演紀,積年動輒千萬年,古法實際只剩空殼,但宋人不思進取,直到授時纔廢除古法,是爲一恨;大衍開創了高次內插的傳統,但是也告別了迭代的道路,此又是一恨。

幾箇論題

三正

月建
夏正天正123456789101112
殷正地正123456789101112
周正人正123456789101112

三正之說出現於戰國時期,說夏商周三代有不同的建正。目前來看,夏正建寅僅見於《夏小正》,應該是準確的。董作賓《殷曆譜》說「全殷代皆以建丑之月爲正月。」周正在魯文公之後建子,如欒書缶的「正月季春」,正月是夏正,季春是周正。

秦至漢初用《顓頊曆》,一般說是建亥,實際上是夏正建寅。特殊的是,建寅一月爲正月,建亥十月爲歲首。如陳涉在秦二世元秊七月起義,二秊十二月被殺,不是一秊半,而是半秊。《顓頊曆》一直用到了元封六秊九月武帝改用《太初曆》之時。而這樣,太初元秊就包含了兩箇十、十一、十二月因爲元封六秊用的顓頊曆,沒有十月了

清代學者徐發、雷學淇等重新構建了三正學說。認為東周以後古法衰亡,逐漸將正月和正朔混為一談,到漢代,重新發明了我們現在熟知的三正說,也就是夏代建寅,以一月為正月,商代建丑,以十二月為正月,周代建子,以十一月為正月。真正的三正應該是「改正不改月,改建不改時」,月名一直不變,冬至月為十一月,而漢人誤以為改正朔就要改月名。秦國曆法以冬至月為十一月,以亥月十月為歲首,這是保留了古法。(見我的碩士論文)

漢代以後皆行寅正,但也有幾次改正朔事件:

  1. 王莽始建國元年 9,改行建丑,將去年十二月改爲今年正月。劉玄更始元年 23,復行建寅,將年末的丑月改爲十三月,也就是說公元 24 年正式用建寅。
  2. 魏明帝景初元年 237,「以建丑之月爲正,改其年三月爲孟夏四月。其孟仲季月,雖與正歲不同,至於郊祀迎氣、祭祠烝嘗、巡狩蒐田、分至啓閉、班宣時令,皆以建寅爲正。(景初)三年正月,(明)帝崩,復用夏正。」宋志中
  3. 武周時期 689 十二月行建寅,以子月爲年首如同顓頊建寅,以亥月爲年首:正月–十二月–一月–二月⋯⋯十月。689 年只有 11 箇月其中一箇月是閏月。長安元年 701 二月復行以寅月爲年首。700 年有 15 箇月其中一箇月是閏月
  4. 肅宗 761 十二月改行建子。此年只有 10 箇月。762 年四月復行建寅。此年有 14 箇月,有 2 箇四月卯月巳月和 2 箇五月辰月午月見廖育棟 中國歷代朔閏表

《宋書》卷十四《禮志一》:

明帝卽位,便有改正朔之意,朝議多異同,故持疑不決。久乃下詔曰:“黃初以來,諸儒共論正朔,或以改之爲宜,或以不改爲是,意取駁異,于今未決。朕在東宮時聞之,意常以爲夫子作春秋,通三統,爲後王法。正朔各從色,不同因襲。自五帝三王以下,或父子相繼,同體異德;或納大麓,受終文祖;或尋干戈,從天行誅。雖遭遇異時,步驟不同,然未有不改正朔,用服色,表明文物,以章受命之符也。由此言之,何必以不改爲是邪。”於是公卿以下博議。侍中高堂隆議曰:

按自古有文章以來,帝王之興,受禪之與干戈,皆改正朔,所以明天道,定民心也。易曰:‘革,元亨利貞。’‘有孚改命吉。’‘湯武革命,應乎天,從乎人。’其義曰,水火更用事,猶王者必改正朔易服色也。易通卦驗曰:‘王者必改正朔,易服色,以應天地三氣三色。’書曰:‘若𥡴古帝舜曰重華,建皇授政改朔。’初‘高陽氏以十一月爲正,薦玉以赤繒。高辛氏以十三月爲正,薦玉以白繒。’尙書傳曰:‘舜定鍾石,論人聲,乃及鳥獸,咸變於前。故更四時,改堯正。’詩曰:‘一之日觱發,二之日栗烈,三之日于耜。’傳曰:‘一之日,周正月,二之日,殷正月,三之日,夏正月。’詩推度災曰:‘如有繼周而王者,雖百世可知。以前檢後,文質相因,法度相改。三而復者,正色也,二而復者,文質也。’以前檢後,謂軒轅、高辛、夏后氏、漢皆以十三月爲正;少昊、有唐、有殷皆以十二月爲正;高陽、有虞、有周皆以十一月爲正。後雖百世,皆以前代三而復也。禮大傳曰:‘聖人南面而治天下,必正度量,考文章,改正朔,易服色,殊徽號。’樂𥡴曜嘉曰:‘禹將受位,天意大變,迅風雷雨,以明將去虞而適夏也。是以舜禹雖繼平受禪,猶制禮樂,改正朔,以應天從民。夏以十三月爲正,法物之始,其色尙黑。殷以十二月爲正,法物之牙,其色尙白。周以十一月爲正,法物之萌,其色尙赤。能察其類,能正其本,則嶽瀆致雲雨,四時和,五稼成,麟皇翔集。’春秋:‘十七年夏六月甲子朔,日有蝕之。’傳曰:‘當夏四月,是謂孟夏。’春秋元命苞曰:‘王者受命,昭然明於天地之理,故必移居處,更稱號,改正朔,易服色,以明天命聖人之寶,質文再而改,窮則相承,周則復始,正朔改則天命顯。’凡典籍所記,不盡於此,略舉大較,亦足以明也。

月名

䠂曆月名非常奇特:

月建
建寅十月十一月十二月正月二月三月四月五月六月七月八月九月
大正冬夕屈夕援夕荊尸七月八月九月十月獻馬
小正
建亥一月二月三月四月五月六月七月八月九月十月十一月十二月

這些月名都是祭祀的名字,用於䠂大正,䠂大正就是祭祀用的神曆。

楚国神历的祭祀顺序,上半年基本遵循由亲至疏、由近至远的秩序,主祭者是楚王,可能于每月朔日进行。例如冬夕祭终养的直系父祖,屈夕祭屈支旁系的近亲父祖,远夕祭远亲列祖,刑夷祭祀丹阳宗庙的荆王,夏夷祭祀中夏的“楚先”,亯月祊祭诸远人亲族,等等。祭祀亲近祖先都在郢都宗庙内举行夕祭;建都丹阳及其以前的远祖不葬在郢都,均需立尸祭祀,这就是“荆夷”“夏夷”的来历。由此判断楚简历法的月名,可能是楚文王迁郢都以后建立起来的,时代约在春秋早期。武家璧简论楚颛顼历

置閏

置閏有閏餘法、固定冬至法、無中法三種方法。

  • 固定冬至法:冬至必須在 11 月建寅或 1 月建子
  • 閏餘法:閏餘卽冬至月齡,當閏餘超過閏準的時候,該年就需要置閏。爲什麼呢?歲實回歸年約 365.2422 日,朔望月約 29.53 日,一年 12 月,有 354.36 日,365.2422 - 354.36 = 10.8822 日。一年就會多出來十多日。當每年的十多日累積超過一箇朔望月的時候,該年就要置閏,防止冬至超過十一月。爲了計算方便,當閏餘超過閏準的時候就需要置閏。漢代以後都用建寅,多出來了兩箇月,但是判斷閏年的標準依然是年前冬至。所以假設閏月在二月,減掉 2 以後,閏月就跑到上一年了,但是上一年閏餘還沒超過閏準,所以需要手動將上一年置閏。這種麻煩的事情是因爲使用無中氣置閏法。如果用固定冬至置閏法,那建寅的閏年一般情況下就會自動提前一年,不需要手動干預。
  • 無中氣法:沒有中氣的月份置閏。

根據西周青銅器,西周用過固定冬至法,年末置閏,閏月稱「十三月」;春秋戰國古六曆的置閏法並不清楚;漢代以後皆用無中氣置閏法,卽沒有中氣的那箇月置爲閏月。太初有一箇特殊的置閏規則:「中氣在朔若二日,則前月閏」,但這條規則貫徹得並不徹底,有些前月朔,有些沒有前月朔,所以我的程序並沒有設置這條規則。見斯琴畢力格等太初曆特殊置閏問題內師大學報2007 年第 6 期,頁 748–753

一箇朔望月大約有 29.531 日,從上圖可見,如果合朔時刻在紅色區間,這箇月是大月,有 30 日,如果在青色區間,是小月,有 29 日。漢代以後安排閏月採用無中氣置閏法,在明代以前都用平氣,即每箇中氣相隔一回歸年的 1/12,大約 30.437 日。如果該閏月爲大月,上月和下月中氣時刻可以在黃色區間,如果該閏月爲小月,上月和下月中氣時刻可以在紫色區間,這樣能保證該月無中氣,爲閏月。閏余法置閏和無中氣法置閏有時會不一致,此圖可以幫助理解。

從下圖可見,建丑建寅:大多數情況下固定冬至法的閏年比無中氣法提前一年;建子:固定冬至法與無中氣法均在同一年。該圖中氣爲平氣。

進朔

唐代以前都是平朔注曆,《戊寅曆》始用定朔注曆。行用不久,李淳風說 645 年有四月連大,「庚子,詔用仁均平朔」,又停用定朔注曆,直到麟德纔固定用定朔。雖然皇極就發明了二次內插,但唐宋時期編排曆書依然用簡單的線性內插,精確的二次差只用於交食推算。用定朔注曆,就會出現四大三小現象,還有閏月不好放置的問題,所以麟德提出「進朔」之法作爲解決方案,此後唐宋閒沿用進朔法,直到授時廢除。景龍二年 708–開元四年 716、開元九年 721–十六年 728 用進朔法推排。見黃一農中國史曆表朔閏訂正舉隅——–以唐麟德曆行用時期爲例漢學研究1992 年 2 期,頁 291–296

關於退望,沒有「退望」這箇詞,我爲了敘述方便而已。曲安京:後半夜的月掩星 85% 用昨日干支,食甚在後半夜的月食,幾乎都用昨日干支。並且弦望在平旦之前都是昨日。頁 306關於進朔退望,我沒找到完整的參考資料,只能自己翻曆志。比如《麟德》:「其注歷,五乘弦望小餘,程法而一,爲刻。不滿晨前刻者,退命算上。」《大衍》:「若注曆,觀弦望定小餘,不盈晨初餘數者,退一日。其望有交、起虧在晨初已前者,亦如之。」

各曆進朔規則:

  • 《麟德》新唐志「其元日有交、加時應見者,消息前後一兩月,以定大小,虧在晦二,弦望亦隨消息。月朔盈朒之極,不過頻三。其或過者,觀定小餘,近夜半者量之。」舊唐志「其正月朔有定加時正月者,消息前後各一兩月,以定月之大小。虧在晦二者,弦望亦隨事消息。凡置月朔,盈朒之極,不過頻三。其或過者,觀定小餘,近夜半者量之。」
  • 《大衍》:「月行九道遲疾,則有三大二小。以日行盈縮累增損之,則容有四大三小,理數然也。若俯循常儀,當察加時早晚,隨其所近而進退之,使不過三大二小。其正月朔有交、加時正見者,消息前後一兩月,以定大小,令虧在晦二。」
  • 《宣明》:「定弦望小餘,不滿昏明小餘者,退一日。或有交,應見虧初者,亦如之。(也就是不退。)」

麟德大衍二曆進朔標準很模糊,只是說看情況來定。大致有兩條規則:朔日有交食的要調整,不能使交食在朔日;如果四連大,要找最靠近夜半的定小餘,調整那一個月的大小。之後的曆法都有比較明確的標準,實現了機械化計算:

  • 五紀論與《大衍》的九大不同,有一條說:「仲夏之朔,若月行極疾,合於亥正,朔不進,則朔之晨,月見東方矣。依大衍戌初進朔,則朔之夕,月見西方矣。當視定朔小餘不滿五紀通法,如晨初餘數減十刻已下者,進以明日爲朔。」此句舉極端情況而言,假設某日在夏至前後,日出在 20 刻,月亮在近地點,合朔在晦日 22 點,則 6 箇多小時之後的朔日淸晨,就能看見月亮了。爲避免新月在朔的極端情況,就需要進朔。若按照大衍 19 點的標準進朔,那朔日的黃昏也能看見月亮。所以大衍並不合理,應該把標準設爲: 1 - 小餘 < 晨初餘數 - 0.1,卽 小餘 > 1.1 - 晨初餘數「晨初餘數」的含義見時間一章,這樣在夏至前後,定朔在 0.9250 以上纔能進朔。
  • 宣明:「凡定朔小餘,秋分後:四分之三已上,進一日;春分後:昏明小餘差春分初日者,五而一,以減四分之三。定朔小餘如此數已上者,進一日。或有交,應見虧初,則否。」又見中國古代曆法第 570 頁
  • 崇玄:「其定朔小餘,如日法四十分之二十九已上;以定朔小餘減日法,餘如晨初餘數已下,進一日。」
  • 欽天:「定朔加時日入後,則進一日;有交見初則不進。弦望加時日未出,則退一日;日雖出有交見初亦如之。元日有交,則消息定之。」
  • 應天乾元儀天:「視朔所入辰分皆與二分相減,餘二收,用減八分之六,其朔定小餘如此;以上者進一日;朔或有交正見者,其朔不進。定望小餘在日出分以下者,退一日,若有虧初在〔晨〕分以下亦如之。」
  • 崇天:「凡注曆,觀朔小餘,如日入分已上者,進一日,朔或當定,有食應見者,其朔不進。弦、望定小餘不滿日出分,退一日,其望定小餘雖滿此數,若有交食虧初起在日出已前者,亦如之。有月行九道遲疾,曆有三大二小;若行盈縮累增損之,則有四大三小,理數然也。若俯循常儀,當察加時早晚,隨其所近而進退之,不過三大二小。若正朔有交,加時正見者,消息前後一兩月,以定大小,令虧在晦二。」原來是「若正朔有加交,時虧在晦二正見者」崇天這段話和大衍幾乎一樣,那麼是否可以據此補出大衍進朔,也是「如日入分已上者,進一日」。「正見」是什麼?隋志下推日食所在辰:「若食近朝夕者,以朔所入氣日之出入刻校食所在,知食見否之少多,所在辰爲正見。」舊唐志二:「若蝕近朝夕者,以朔所入氣日出沒刻校蝕所在,知蝕見不之多少,所在辰爲正見。日月蝕旣,在起復初末,亦或變常,退於見前後十二刻半候之。」
  • 明天觀天紀元:秋分–春分:0.75。「若春分後,其定朔晨分差如春分之日者,三約之,以減四分之三;如定朔小餘及此數已上者,進一日;朔或當交有食,初虧在日入已前者,其朔不進。弦、望定小餘不滿日出分者,退一日;其望或當交有食,初虧在日出已前,其定望小餘雖滿日出分者,亦退之。又月行九道遲疾,曆有三大二小;日行盈縮累增損之,則有四大三小,理數然也。若循其常,則當察加時早晚,隨其所近而進退之,使月之大小不過連三。」

進朔要求最多三大二小,不能四大三小,如果仍然出現,需要手動調整。日落之前若有日食初虧,則不進朔。

總結一下:

  • 《五紀》、《正元》:1.1日-日出+2.5刻
  • 《崇玄》:取 (1日-日出+2.5刻) 和0.725日兩者的最大值
  • 《欽天》、《崇天》:1-日出
  • 其他:秋分到春分:0.75,秋分到春分:0.75+(日出-春分日出時刻0.75)/p
    • 《宣明》:p=5
    • 《應天》、《乾元》、《儀天》:p=2
    • 《明天》、《紀元》等其他:p=3

宋志十五值得好好讀,其中有

太史局春官正、判太史局吳澤等言:「乾道十年頒賜曆日,其中十二月已定作小盡,乾道十一年正月一日注:癸未朔,畢乾道十一年正月一日。崇天統元二曆算得甲申朔,紀元乾道二曆算得癸未朔,今乾道曆正朔小餘,約得不及進限四十二分,是爲疑朔。更考日月之行,以定月朔大小,以此推之,則當是甲申朔。今曆官弗加精究,直以癸未注正朔,竊恐差誤,請再推步。於是俾繼宗監視,皆以是年正月朔當用甲申。

但我統元算出來不進朔⋯⋯


  1. 根據古六曆合天時間確定,見廖育棟 古六曆的計算方法 ↩︎

  2. 郜積意經學與曆學的貫通——春秋朔閏表與經文歷日考證學術月刊2020 年 1 期 ↩︎

  3. 武家璧《简论楚颛顼历》,《长江大学学报》2019 年第 4 期 ↩︎

  4. 據朱桂昌顓頊日曆表,中華書局 2012,並且我自己調整了一箇階段 ↩︎

  5. 張培瑜等中國古代曆法,中國科學技術出版社 2008,頁 247 ↩︎