-
Notifications
You must be signed in to change notification settings - Fork 45
/
examples_chinese.html
executable file
·1 lines (1 loc) · 15.9 KB
/
examples_chinese.html
1
<!DOCTYPE html><html lang="zh"><meta name="keywords" content="農曆, 法則, 農曆編算例子, 2033年的問題, 偽閏月, 雙中氣"><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1"><head><title>農曆編算例子</title><link rel="stylesheet" href="calendar_chinese_min.css"><style>body{counter-reset:subsec-counter}subsect::before{counter-increment:subsec-counter 1;content:counter(subsec-counter,lower-roman) ". "}</style><script src="header_min.js"></script><base href="https://ytliu0.github.io/ChineseCalendar/"><script async src="https://www.googletagmanager.com/gtag/js?id=G-SN0QJRDXXT"></script><script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-SN0QJRDXXT")</script></head><body onload='header(1,"","examples")'><div id="wrapper0"><div id="menu"></div><div id="language"></div><p>返回<a href="rules_chinese.html#examples" style="background-color:pink">農曆編算法則</a></p><br><h1>農 曆 編 算 例 子</h1><p>初稿: 2018年10月</p><br><p>這裡用兩個例子展示農曆編算方法,最後會探討農曆年N<sub>2033</sub>(癸丑年)的問題。</p><p>為方便起見,這裡會用朔望月數(lunation number)來標紀朔。朔望月數由布朗於1933年所創,他把1923年的第一個朔(1923年1月17日2:41 UT1)的朔望月數定為1,此後的朔的朔望月數按時間次序定為2、3、4等等。已知1923年1月17日UT正午的儒略日數是2423437,由此可推斷某個朔的朔望月數是最接近1+(JD-2423437)/29.5306的整數,其中JD是這個朔的儒略日數。</p><br><subsect id="ex1">例 一: 推 算 N<sub>2017</sub> (丁 酉 年) 的 所 有 農 曆 月</subsect><p>根據英國皇家航海曆書局及美國海軍天文臺編的 《2016年天象》,2016年的冬至是在12月21日UTC10:44,亦即12月21日18:44(UTC+8),所以2016年的冬至日是W<sub>2016</sub>=2016年12月21日。 又據 《2017年天象》,2017年的冬至是在12月21日UTC16:28,亦即12月22日00:28(UTC+8),所以W<sub>2017</sub>=2017年12月22日。2016年和2017年的所有合朔時刻也可從兩書查得,只是要把所有時刻從UTC轉化為UTC+8。從兩書的數據可得M<sub>-1</sub>=2016年11月29日、M<sub>11</sub>=2017年12月18日。由此算出<br>M<sub>11</sub>-M<sub>-1</sub>=384日,所以L=13,意味著S<sub>2017</sub>是閏歲。要找出閏月,需要知道中氣的時刻,但那兩本書只列出春分、秋分、夏至和冬至的時刻,其他中氣時刻須自己推算。我已經把這些時間算好了,可從<a href="sunMoon_chinese.html?y=2017">氣朔時刻網頁</a>查看,該網頁列出的時間全是UTC+8,不用轉換。</p><p>下表列出朔和中氣日期,朔用L然後加上朔望月數來紀。</p><table><tr><th>朔</th><th>中 氣</th></tr><tr><td>L1162: 2016年11月29日</td><td></td></tr><tr><td></td><td>冬至: 2016年12月21日</td></tr><tr><td>L1163: 2016年12月29日</td><td></td></tr><tr><td></td><td>大寒: 2017年1月20日</td></tr><tr><td>L1164: 2017年1月28日</td><td></td></tr><tr><td></td><td>雨水: 2017年2月18日</td></tr><tr><td>L1165: 2017年2月26日</td><td></td></tr><tr><td></td><td>春分: 2017年3月20日</td></tr><tr><td>L1166: 2017年3月28日</td><td></td></tr><tr><td></td><td>穀雨: 2017年4月20日</td></tr><tr><td>L1167: 2017年4月26日</td><td></td></tr><tr><td></td><td>小滿: 2017年5月21日</td></tr><tr><td>L1168: 2017年5月26日</td><td></td></tr><tr><td></td><td>夏至: 2017年6月21日</td></tr><tr><td>L1169: 2017年6月24日</td><td></td></tr><tr><td></td><td>大暑: 2017年7月22日</td></tr><tr><td>L1170: 2017年7月23日</td><td></td></tr><tr><td>L1171: 2017年8月22日</td><td></td></tr><tr><td></td><td>處暑: 2017年8月23日</td></tr><tr><td>L1172: 2017年9月20日</td><td></td></tr><tr><td></td><td>秋分: 2017年9月23日</td></tr><tr><td>L1173: 2017年10月20日</td><td></td></tr><tr><td></td><td>霜降: 2017年10月23日</td></tr><tr><td>L1174: 2017年11月18日</td><td></td></tr><tr><td></td><td>小雪: 2017年11月22日</td></tr><tr><td>L1175: 2017年12月18日</td><td></td></tr><tr><td></td><td>冬至: 2017年12月22日</td></tr></table><p>從表中可見,L1170朔對應的農曆月是唯一一個月份不含中氣,是閏月。由此得出M<sub>0</sub>=2016年12月29日、M<sub>1</sub>=2017年1月28日、……、M<sub>6</sub>=2017年6月24日、M<sup>*</sup><sub>6</sub>=2017年7月23日、M<sub>7</sub>=2017年8月22日、……、M<sub>11</sub>=2017年12月18日。閏月在六月之後的那個月,是閏六月。要推算丁酉年十一月後的月份,原則上應重複以上步驟計算下一歲(S<sub>2018</sub>)的農曆月,但也可以省略,原因是我們知道農曆有閏月的那一年有十三個月,現在頭十二個月已定,而閏月是閏六月,所以最後一個月必定是十二月,初一是M<sub>11</sub>之後的朔日,下一年的正月初一必是M<sub>11</sub>之後的第二個朔日。2018年的朔日可從《2018年天象》查得。下表列出丁酉年各月的編排。</p><table><tr><th>農 曆 月</th><th>初 一 日 期</th><th>日 數</th></tr><tr><td>正月</td><td>2017年1月28日</td><td>29</td></tr><tr><td>二月</td><td>2017年2月26日</td><td>30</td></tr><tr><td>三月</td><td>2017年3月28日</td><td>29</td></tr><tr><td>四月</td><td>2017年4月26日</td><td>30</td></tr><tr><td>五月</td><td>2017年5月26日</td><td>29</td></tr><tr><td>六月</td><td>2017年6月24日</td><td>29</td></tr><tr><td>閏六月</td><td>2017年7月23日</td><td>30</td></tr><tr><td>七月</td><td>2017年8月22日</td><td>29</td></tr><tr><td>八月</td><td>2017年9月20日</td><td>30</td></tr><tr><td>九月</td><td>2017年10月20日</td><td>29</td></tr><tr><td>十月</td><td>2017年11月18日</td><td>30</td></tr><tr><td>十一月</td><td>2017年12月18日</td><td>30</td></tr><tr><td>十二月</td><td>2018年1月17日</td><td>30</td></tr></table><p>農曆月的日數由兩個月初一日相隔的日數算出。例如四月初一在公曆4月26日,五月初一在5月26日,由此可知4月27日是四月初二、4月28日是四月初三……5月25日是四月三十、5月26日是五月初一,所以四月有三十日,是大月。</p><br><subsect id="ex2">例 二: 推 算 N<sub>2033</sub> (癸 丑 年) 的 所 有 農 曆 月</subsect><p>這裡用我計算的朔和中氣時刻來編算癸丑年的農曆月,朔和中氣時刻可從<a href="sunMoon_chinese.html?y=2033">氣朔時刻網頁</a>查得。根據氣朔時刻網頁的數據,W<sub>2032</sub>=2032年12月21日、W<sub>2033</sub>=2033年12月21日、M<sub>-1</sub>=2032年12月3日、M<sub>11</sub>=2033年11月22日,由此算出M<sub>11</sub>-M<sub>-1</sub>=354日,所以L=12,S<sub>2033</sub>沒有閏月,所以其後的十一個月已定,不必理會S<sub>2033</sub>的其他中氣。癸丑年正月初一是M<sub>-1</sub>之後的第二個朔日,是2033年1月31日,二月到十月的初一是其後的九個朔日,十一月初一是M<sub>11</sub>,即2033年11月22日。十一月之後的月份就要看S<sub>2034</sub>是否有閏月,如果有而且是在正月之前,則閏月屬癸丑年。</p><p>從氣朔時刻網頁查得2034年冬至日在W<sub>2034</sub>=2034年12月22日,冬至日之前的朔日是M<sub>23</sub>=2034年12月11日。這裡用M<sub>23</sub>來紀這個朔日,因為與其相關的農曆月是從癸丑年算起的第二十三個平月。因為M<sub>23</sub>-M<sub>11</sub>=384日,所以L=13,意味著S<sub>2034</sub>是閏歲。現在要查看W<sub>2033</sub>後的中氣和朔的日期,看看閏月是否發生癸丑年。因為癸丑年的頭十一個月已定,我們只須看看W<sub>2033</sub>之後的幾個中氣和朔日就可知道閏月是不是在癸丑年。下表列出幾個中氣和朔日。</p><table><tr><th>朔</th><th>中 氣</th></tr><tr><td>L1372: 2033年11月22日</td><td></td></tr><tr><td></td><td>冬至: 2033年12月21日</td></tr><tr><td>L1373: 2033年12月22日</td><td></td></tr><tr><td>L1374: 2034年1月20日</td><td>大寒: 2034年1月20日</td></tr><tr><td></td><td>雨水: 2034年2月18日</td></tr><tr><td>L1375: 2034年2月19日</td><td></td></tr></table><p>從表中看出L1373朔對應的農曆月份是冬至後第一個沒有中氣的月份,所以是閏月,之前的那個月是十一月,所以是閏十一月,屬癸丑年。確定了閏月後,S<sub>2034</sub>的其他月份也定了,十二月在閏十一月之後。下表列出癸丑年各月的編排。</p><table><tr><th>農 曆 月</th><th>初 一 日 期</th><th>日 數</th></tr><tr><td>正月</td><td>2033年1月31日</td><td>29</td></tr><tr><td>二月</td><td>2033年3月1日</td><td>30</td></tr><tr><td>三月</td><td>2033年3月31日</td><td>29</td></tr><tr><td>四月</td><td>2033年4月29日</td><td>29</td></tr><tr><td>五月</td><td>2033年5月28日</td><td>30</td></tr><tr><td>六月</td><td>2033年6月27日</td><td>29</td></tr><tr><td>七月</td><td>2033年7月26日</td><td>30</td></tr><tr><td>八月</td><td>2033年8月25日</td><td>29</td></tr><tr><td>九月</td><td>2033年9月23日</td><td>30</td></tr><tr><td>十月</td><td>2033年10月23日</td><td>30</td></tr><tr><td>十一月</td><td>2033年11月22日</td><td>30</td></tr><tr><td>閏十一月</td><td>2033年12月22日</td><td>29</td></tr><tr><td>十二月</td><td>2034年1月20日</td><td>30</td></tr></table><br><subsect id="exceptional">異 常 的 年 份 N<sub>2033</sub> (癸 丑 年)</subsect><p>若干人指出農曆年N<sub>2033</sub>癸丑年是異常年份,以前很多編曆者都弄錯了這年的農曆月份。但如果細看例二的計算,似乎看不出這年有何特異之處。比較例一和例二的計算,反而覺得例二的計算較為簡單。要明白癸丑年為何異常,先看看下表列出的朔和中氣的日期,其中很多日期在例二的計算中略去了。</p><table><tr><th>朔</th><th>中 氣</th><th>農 曆 日 期</th></tr><tr><td>L1360: 2032年12月3日</td><td></td><td>壬子年十一月初一</td></tr><tr><td></td><td>冬至: 2032年12月21日</td><td>十一月十九</td></tr><tr><td>L1361: 2033年1月1日</td><td></td><td>十二月初一</td></tr><tr><td></td><td>大寒: 2033年1月20日</td><td>十二月二十</td></tr><tr><td>L1362: 2033年1月31日</td><td></td><td>癸丑年正月初一</td></tr><tr><td></td><td>雨水: 2033年2月18日</td><td>正月十九</td></tr><tr><td>L1363: 2033年3月1日</td><td></td><td>二月初一</td></tr><tr><td></td><td>春分: 2033年3月20日</td><td>二月二十</td></tr><tr><td>L1364: 2033年3月31日</td><td></td><td>三月初一</td></tr><tr><td></td><td>穀雨: 2033年4月20日</td><td>三月廿一</td></tr><tr><td>L1365: 2033年4月29日</td><td></td><td>四月初一</td></tr><tr><td></td><td>小滿: 2033年5月21日</td><td>四月廿三</td></tr><tr><td>L1366: 2033年5月28日</td><td></td><td>五月初一</td></tr><tr><td></td><td>夏至: 2033年6月21日</td><td>五月廿五</td></tr><tr><td>L1367: 2033年6月27日</td><td></td><td>六月初一</td></tr><tr><td></td><td>大暑: 2033年7月22日</td><td>六月廿六</td></tr><tr><td>L1368: 2033年7月26日</td><td></td><td>七月初一</td></tr><tr><td></td><td>處暑: 2033年8月23日</td><td>七月廿九</td></tr><tr><td>L1369: 2033年8月25日</td><td></td><td>八月初一</td></tr><tr><td>L1370: 2033年9月23日</td><td>秋分: 2033年9月23日</td><td>九月初一</td></tr><tr><td>L1371: 2033年10月23日</td><td>霜降: 2033年10月23日</td><td>十月初一</td></tr><tr><td>L1372: 2033年11月22日</td><td>小雪: 2033年11月22日</td><td>十一月初一</td></tr><tr><td></td><td>冬至: 2033年12月21日</td><td>十一月三十</td></tr><tr><td>L1373: 2033年12月22日</td><td></td><td>閏十一月初一</td></tr><tr><td>L1374: 2034年1月20日</td><td>大寒: 2034年1月20日</td><td>十二月初一</td></tr><tr><td></td><td>雨水: 2034年2月18日</td><td>十二月三十</td></tr><tr><td>L1375: 2034年2月19日</td><td></td><td>甲寅年正月初一</td></tr><tr><td>L1376: 2034年3月20日</td><td>春分: 2034年3月20日</td><td>二月初一</td></tr><tr><td>L1377: 2034年4月19日</td><td></td><td>三月初一</td></tr><tr><td></td><td>穀雨: 2034年4月20日</td><td>三月初二</td></tr><tr><td>L1378: 2034年5月18日</td><td></td><td>四月初一</td></tr><tr><td></td><td>小滿: 2034年5月21日</td><td>四月初四</td></tr></table><p>表中可見有三個農曆月在八個月內不含中氣:癸丑年八月、閏十一月和甲寅年正月,而且有兩個月含兩個中氣:癸丑年十一月和十二月。一個農曆月內出現兩個中氣的情況十分罕見,無中氣的月份而不是閏月(「偽閏月」)的情況也是十分罕見的。其實可以看出「雙中氣」和「偽閏月」是會在相隔幾個月內成雙出現的。很多編曆者弄錯了月份編排,是因為有不少書籍和文章說農曆月份的序數按月內的中氣而定:含雨水的月份是正月、含春分的月份是二月、含轂雨的月份是三月等,而不含中氣的月份定為閏月。問題是這三個無中氣的月全都要閏嗎?編曆者或許察覺到在八個月內置三個閏月不合理,所以把最先出現的無中氣月份,即癸丑年七月後的那個月定為閏七月,這就錯了。偽閏月在N<sub>1984</sub>(甲子年)也出現過,但在真閏月之後,所以以最先出現的無中氣月份為閏月的方法在該年沒有出錯。</p><p>以無中氣的月份定為閏月這「偽法則」雖然大多數時候不錯,但遇到偽閏月時就不靈了。至於「農曆的月序按月內所含的中氣而定」這「偽法則」在癸丑年也不靈了:癸丑年八月不含秋分、九月不含霜降、十月不含小雪、甲寅年正月不含雨水。如果遵從正確法則,癸丑年的月份安排沒有什麼奇特。如例二所示,從壬子年十一月到癸丑年十一月之間有十二個農曆月,所以S<sub>2033</sub>是平歲,沒有閏月,編排S<sub>2033</sub>的月份時不必理會中氣日期,也懶得去查,編月份時也不知道(亦無須理會)其中一個月沒有中氣。到要處理十一月以後的月份時,發現S<sub>2034</sub>是閏歲,再看頭幾個中氣日期,發現十一月之後那個月沒有中氣,所以是閏月,以後的月份也定下來了,不必看其他中氣,所以不知道(亦無須理會)後面還有一個月沒有中氣。只要遵從正確法則,不存在任何問題。</p><p>那麼這偽法則從何而來?其實這是順治二年(1645年)曆法改革前的法則。如<a href="solarTerms_chinese.html">二十四節氣網頁</a>所述,順治二年以前的 二十四節氣用平氣來定義,一個月最多只能有一個中氣。可以推出閏歲只能有一個月不含中氣,所以偽閏月也不存生。只要把十一月定為含冬至的月份,可推出十二月必含大寒,正月必含雨水等等。所以農曆月序由月內中氣決定,而無中氣的月份定為閏月這規則在平氣法下是沒有問題的,但是改用定氣法後就會碰釘。</p><p>由定氣法所定義的二十四節氣時間間隔並不相等,一個月有可能出現兩個中氣,雖然這情況很罕見。有雙中氣就有偽閏月,所以以前的法則不能再用,於是創制了法則五取代之前的無中氣置閏法。</p><p>順治二年的曆法改革由德國傳教士湯若望制定。新曆法出現了雙中氣和偽閏月的情況,而且計算較為複雜,使當時的士大夫十分不滿。前新加波國立大學數學系教授Helmer Aslaksen(現任挪威奧斯陸大學副教授)撰寫了一篇介紹農曆的文章,他指出當時中國的天文學不一定遜於西方,甚至認為當時沒有一個西方傳教士比得上元朝天文學家郭守敬,但是當時朝廷的中國天文官都是世襲,對自己傳統的天文曆法認識不深,在曆法爭議上辯不過西方傳教士。湯若望制定的置閏法則現在仍在使用。</p><br><p>返回<a href="rules_chinese.html#examples" style="background-color:pink">農曆編算法則</a></p></div><br><br></body></html>