夏历知识的一些介绍
作者:宇谦
来源:作者授权儒家网发布
时间:孔子二五六八年岁次丁酉闰六月初十日庚申
耶稣2017年8月1日
(华夏黄帝纪元四千七百十三年岁次乙未十二月六日丙申据徐先生的一些讲解文字辑出略有修订 )
夏历历史版本和现行版本:
上古六历即《黄帝历》、《夏历》、《殷历》、《周历》、《鲁历》、《颛顼历》。
以上六历的岁实都是三百六十五又四分之一的四分法数,区别的只是建正问题。也就是通常说的上古三正。夏正建寅,殷正建丑,周正建子。
西汉初年的《太初历》、东汉的《四分历》,后来的《乾象历》,一直到现在的《紫金历》共有六十多部历法的版本,其中现行的版本是《紫金历》。
在夏历发展中有几个很重要的历法版本:
甲子、《颛顼历》:全国统一,结束了春秋战国时期的历法混乱的状况;
乙丑、《太初历》:第一明确把二十四节气完整地订入夏历,并且明确使用夏正(建寅),并用冬至起算夏历,奠定了以后夏历基本范本的基础;
丙寅、《乾象历》:确立了近点月的概念,提出了黄白交点的退行和退行值的确定,并给出定朔的算法,采用一次差内插法计算,定朔法虽然没有在这部历法上采用,但是对后世的定朔法用于民用历法解决了关键性的问题;
丁卯、《大明历》:在历法中引入了岁差的概念,从此区分了恒星年和回归年的概念,使用依观测值而定下的夏历更加准确,首次给出交点月的数值,被誉为夏历的重大改革,提出了比十九年七闰法更加准确的长闰周即391年144闰法;
戊辰、《戊寅元历》:使用定朔代替以前的平朔,从此夏历进入了平气定朔的阶段,依天象而定的民用历法;
己巳、《麟德历》:第一次废除了十九年七闰的固定闰周,而改为依实际观测天象(测定冬至时刻,冬至日必须在子月,也就是寅正十一月)当闰则闰,这使得夏历又向着天文历法走近了一大步。《麟德历》还确立了定朔注历。这些改进都在这部历法版本之后的各个历法版本中继续采用,所以说从《麟德历》开始,以后的夏历是十九年七闰是不正确的。可惜的是现在还有某些介绍说现行的夏历是十九年七闰,这是不确切更是错误的。比如可以说圆周率约等于3.14,但不能说圆周率等于3.14,夏历的置闰也同样是这个道理;
庚午、《大衍历》:用定气法排太阳表(日躔),创二次不等间距内插法。
辛未、《应天历》:提出更点制,把一夜分为五更,为更点制之始,同时引入七曜纪日(木、金、土、日、月、火、水),相当于星期制度,这是在夏历中最初引入的星期制度;
壬申、《统天历》:审述了回归年数值是一个古大今小的变小数,而不再是以前认为的是一个恒定值,这个现在已经由天体力学得到了证明。另外给出的回归年数值是当时最准确的数值(365.2425),这个数值被《授时历》所采用。还有就是实际上废除了上元积年(为了减少守旧派的反对设立了一个形式上的上元积年),《统天历》的很多思想都直接影响了后来的夏历重要版本《授时历》的制定。
癸酉、《授时历》:这个是传统算法的夏历的最后一个版本,执行时间也是最长的一部优秀夏历版本,真正地废除了沿习以久的上元积年改为直接以实际观测而选的起算点计算(近世截元),使用三次内插法计算太阳表(日躔)和月亮表(月离)。
明代取消《授时历》的岁实消长法和更改历元之后成为《大统历》。
甲戌、《时宪历》:这是明末编写的《崇祯历书》被删减的夏历版本,所谓《西洋新法历书》清初改为《时宪历》颁行,康熙年间重新厘定,并且用康熙甲子为元,颁行《御定历象考成》和《御制数理精蕴》。
乾隆开始每年颁行的历日为了避讳改名为《时宪书》,简称《宪书》。
《时宪历》是引进并且采用了西方天文理论和算法的第谷体系来进行天文计算的夏历版本,算法采用西方天文算法,历法规定则是原原本本的华夏原创,除了继承《授时历》的法则而又有新的规定:如正式在民用历谱中使用定气、定候注历(唐代张遂制《大衍历》想办的事,但因为个别年份会出现除冬至外中气不归月的情况,而遭到保守势力反对未果,定气算法是隋朝刘焯就已经掌握和发现了的。所以定气注历是华夏一直想改进的,而不是什么西洋汤若望的发明。这点请注意),正式把千年以来形成的以冬至所在之月为夏历的起算点(冬至月建子)的算历习惯上升为明确的历法规定(因为这样才能执行定气注历,解决上述个别年份中气不归月的情况下,如何排算历谱的问题),所以首先夏历每年冬至必须在夏历十一月(子月)里,然后才是无中气置闰法,这样就决定了夏历岁实的实际长度和天文意义。
但引入西方天文学知识之后只是算法的改进,所谓算法是计算气、朔、五星、交食的方法。历法规则并没有成为“西洋历法”所以夏历仍旧是夏历,并非是使用了所谓“西洋历法”。
乙亥、《癸卯元历》:这个也有叫重修时宪历的,使用雍正癸卯为元,修成《历象考成后编》采用开普勒三大定律进行计算又一次提高了历算的精度。
丙子、《新法天文夏历》中华民国三年(1914)教育部中央观象台放弃《历象考成后编》采用当时的纽康太阳表和汉森月亮表计算气朔,并且改用平太阳时,将东经116度北京中央观象台当地子午线设立为历算子午线,所颁发之历书为《中华民国历书》每年一册。这个版本的夏历行用至中华民国十八年(1929)。
《中华民国十一年历书》内页
丁丑、《紫金历》:这个是现行夏历的版本,改由东经120度计算,是用现代天文学理论和算法计算定气、定朔等时刻的夏历版本,精度空前的提高了,它的历法不变,但是历算算法不再固定不变,而是随着天文新理论和算法的不断更新而随时修订算法,特别是在1995年以后参照JPL的《DE405/406星历表》计算后,行星运动和月球运动准确到秒级。
夏历的核心规定是什么?
气、日、朔、干支为夏历的四元素。
甲、以太阳黄经度定节气,在北半球太阳光下立竿测影时,竿影最长(最靠北)的时刻为冬至时刻,竿影顶最靠南的时刻为夏至,由此确定全年廿四个节气,分十二中气和十二节令,中气之首为冬至(建子),节令之首为立春(立春正月节表示孟春时节的开始);
乙、以朔日定日序:日月完全在同一黄经的位置上叫朔,规定为夏历每月初一;
丙、以冬至定年长度:即冬至所在的历月,规定为建子月,寅正为十一月;
丁、以冬至定闰岁,中气定月序,当闰岁时以冬至起无中气之历月为闰月,有闰月之年为闰年;
戊、建寅之月为正月,正月初一为新年元旦,前一天为除夕;
己、以太阳在东经120度子午线上下中天的平均时刻为排历谱的历日起算点。
夏历主要包含哪几部分?
夏历是阴阳合历,所以有岁实部分和朔策部分,还有其他的星历部分。
干支:夏历计算工具;
年:除夕和新年正月初一;
岁实:二十四节气、七十二候(从冬至时刻到下一个冬至时刻精密推步)气候这个词因此而来。
月:朔(初一),上弦,望,下弦;
日:太阳下中天时刻(夜半),晨光始(分民用、航海,天文三种)时刻,日出时刻,太阳上中天时刻(正午),日没时刻,昏影终(分民用、航海,天文三种)时刻;
月亮下中天时刻,月出时刻,月亮上中天时刻,月没时刻;
注:
甲、太阳下中天平时刻为夏历每日正式的起始;
乙、晨光始时刻为夏历每日的习惯起始。
关于所谓十九年七闰:
十九年七闰其实就是十九年二百三十五个朔望月。古六历及太初历,三统历,四分历等夏历的历史上的历法版本。十九年七闰法至少在祖冲之的大明历时部分废除了,到了唐代的麟德历彻底地废除了十九七闰的固定闰章,而是改为以实际观测为准,当闰则闰,冬至月起算,无中气置闰。所以现在的一些介绍夏历的书中还说现行的夏历是十九年七闰的说法是不准确的,应当纠正过来。
夏历生日与纪念日、节日释疑
有些人的生日或一些特殊的纪念日与节日在夏历的某个月的三十日或者是闰月的某日,但是夏历是天文历,他的月长和年长是由天象自然调整的,所以并不是每年生日(纪念日、节日)所在的那个月都有三十日或者有那个闰月。有人说出现这种情况时,这个人在这一年里就没有夏历生日了,其实我国长期使用阴阳合历的夏历,所以这个不成问题,即使出现这种情况,照样保证年年有夏历生日(纪念日)过,一般会做以下处理:
甲、夏历三十日是夏历的晦日,即夏历月的最后一天,所以出生在三十日,但是某年该月没有三十日,那么廿九日就是该月的最后一天,即晦日,所以夏历生日就是在廿九日;除夕日就是这个道理的,不管有没有三十日,每年除夕都照有不误,简短的概括是:生日(节日)在晦日,有三十,三十过,没三十,廿九过。
乙、夏历闰月和前一个月共用一个中气(月建),所以相当于前一个月的重复,所以出生在闰月里的,在没有闰这个月的年份里,就在出生那年闰月的前一个月里过;简短概括是:闰月生,闰该月,闰月过,没闰该月,前月过。
丙、出生在闰月的三十日的,可以分别按甲和乙的方法处理。
丁、一个节日一年只能有一次,比如当有闰五月的年份时,闰五月的初五日不是端午节。此规则适用于闰正月--闰冬月的时候。如逢闰腊月时,则是腊祭(腊八节)祭灶节(小年)除夕等节日(生日与纪念日除外)均以闰腊月为准,依旧只有一次。原因是腊祭、祭灶节都是为辞旧迎新做准备的日子,所以理当在一年的最后一个月里,除夕就更好理解了,一年的最后一天。(不过在西元二十一世纪中不存在闰正月和闰腊月的情况,以上问题仅为原理解释。)
正月与“一月”之异同:
中国传统夏历的第一个月份是不叫一月的,而是叫正月,正有改正的意思,也有正统之意,一般是掌握着新年的月份(秦代历法除外,秦历也就是颛顼历以十月初一日为元旦),历史上常把修改历法称为“改正朔”,可见正月在夏历中的含义是很特殊的,至少在周代(含)以后就是夏历第一个月的正统叫法,并不是一月的别称,而是正月就是夏历第一个月的正式名称,相反把正月叫成一月却是不规范的叫法,历史上曾有短期有叫一月的月份,但是那不是正月,而是一月与正月是完全不同的两个月份,是并存的,即西历689年12月18日至西历701年01月14日(武则天奉行周正的时期):建子为正月,建寅为一月。可见正月只是相当于夏历的第一个月,但是不叫“一月”的特殊月份。这和把夏历十二月叫成腊月不同,腊月是十二月的别称无疑,因为历法中没有腊月这个月份名,而正式月份名是十二月,所以在正式出版的历书中的夏历月份有正月和十二月的月份名称,而没有“一月”这样不规范的称呼和“腊月”这样的俗称。
十二月建与十二中气:
十二月建就是把夏历十二个月配以十二地支。其实所谓的十二月建起源于斗建,就是北斗七星勺柄所指的方向的地支,只不过后来夏历用严格的节气来定义了。在传统的罗盘上的十二个方向上标有十二地支,同时也标有夏历二十四节气,其中十二中气对应十二地支,相对应见以下表格:
罗盘标注的方向对应地支 对应中气 月 份 月建
正北子 冬至 十一月 建子
北偏东30度丑 大寒 十二月 建丑
北偏东60度寅 雨水 正 月 建寅
正东卯 春分 二 月 建卯
南偏东60度辰 谷雨 三 月 建辰
南偏东30度巳 小满 四 月 建巳
正南午 夏至 五 月 建午
南偏西30度未 大暑 六 月 建未
南偏西60度申 处暑 七 月 建申
正西酉 秋分 八 月 建酉
北偏西60度戌 霜降 九 月 建戌
北偏西30度亥 小雪 十 月 建亥
由此表可见,其实月建就是十二中气的代称而已,夏历每月必须包含中气,就是要求该月有月建,如果无月建,就是立于闰月了,在定气下,由于地球轨道的摄动的复杂性,有极少数正常月无定中气,但是平中气还是有的,所以可以定气被摄动影响的复杂性虽然不含定中气但是包含平中气,所以并不违反夏历历法规则,而闰月不但没有定中气,就是对应的平中气也没有,所以是真正的无中气之月,即无独立的月建。
夏历的正常历月都包含有十二中气,所以都有月建,夏历闰月虽无独立月建(中气)但是把它按特定的处理方法划归到临近正常月里,共用月建。
关于传统夏历的几个观点的辨析:
现行夏历的版本:《紫金历》,一部用现代天文理论和数据计算的传统夏历历法。
夏历的身份:天文年历性质的阴阳合历,夏历本身就是一部星历表,可以简单理解为天文阴阳历。
所谓新历与旧历:
在民国初年由于引进了西方的格里历,格里历对于当时的国人是新历,所以夏历相对就被称为旧历,其实新历不新,旧历不旧,格里历创制并颁行于1582年,而夏历的现行版本《紫金历》起于1929年。另外格里历使用的岁实是365.2425日,这个数据我国在南宋的《统天历》颁行于1199年时就已经采用了。现在的夏历数据是最新的,而格里历一直都没有变动过。所以所谓新历并不是新的,所谓旧历也并不是旧的,新是新引进的意思,旧则是传统固有的意思。这点是需要注意的。不能说因为西历叫新历,夏历叫旧历,就说新历一定比旧历更科学准确之类的,其实不是这样子。我国采用西历只是看准它的全球通用价值而已。但它的全球通用又和欧洲早期的全球殖民分不开。点到为止,结束这段话。
夏历与“阴历”:
夏历是阴阳合历,包含阳历性质的节气和七十二候,阴历性质的月,而且两者相互结合,相互制约,并且相互都是完整的。把夏历叫“阴历”是民国初年改用西历时的误传,因为西历属于阳历,而民间又把西历叫成“洋历”,而夏历又有阴历成份,所以由于民间阴阳说的影响,那么把西历叫成了阳历,那夏历相对于西历就误叫成“阴历”,在现在这种不确切的误读还在沿续着。有人虽然口头上承认夏历是阴阳合历,但是心里还是把夏历看成是“阴历”,说白了还是受民国初年改历时误宣传的影响和西方单轨制的思维方式影响太深了。
节气与西历:
节气不属于西历,节气本来就是我国传统夏历中的阳历部分,西历属于阳历性质,夏历中的节气也属于阳历,节气和西历在文化上没有什么关系,只是都属于太阳历性质而已,描述同一个太阳远动而已,所以夏历的节气和西历的某些日期有一些近似的对应关系是很正常的,本来没有什么奇怪的。然而有人把我们的传统夏历误解为“阴历”或“月亮历”,就以为我国古代不能测算太阳视运动,甚至有谣言说二十四节气是西洋人汤若望发明的,难道我们的祖先连一个回归年周期都弄不明白吗?又不是什么高科技。所以在那些人看来“阳历”就成了西历的专属名词,科学的化身。这些情况还是因为那些人不了解夏历(包含节气、朔望、五星)是阴阳合历的缘故,这是由民国改用西历时的误导而产生的误会和谬误而已。所以特别需要纠正。
夏历与节气:
炎帝时期已经有八节气,到了周代二十四节气已经全部出现,西汉太初历时将二十四节气分成十二节令和十二中气,使他们正式成了夏历不可分割的一部分,确立无中气置闰法则。节气是夏历中的太阳历成分,夏历就是用节气来描述太阳视运动的,节气日本身也是属于夏历的特殊历日,民国初年为了刊行历书,节气是和夏历的日期放在一起的,因为当时的人们认为节气本来就属于夏历的一部分,所以是放在夏历的位置上,而不是放在西历位置上的。
关于夏历新年含义在现今被淡化或被人遗忘有没有必要保护的问题:
当新年快乐变为“新春快乐”“春节快乐”的时候。这种情况要是任其发展下去,夏历新年的新年意义就会渐渐被人们所遗忘或被不明真相的人曲解,变成所谓迎接春天来临的日子,如果任由如此发展下去的话,夏历新年就会最终沦为一个节日,而不是新年了。即使是最重大的节日,但是和新年的意义是没法比的。
因为在我国传统中,百节年为首,年大于节,大于纪念日。所以一定要警惕,这些是值得特意保护一下,保护我们未来的精神家园是十分有必要的。举例来说欧美最重大的节日是耶诞节,但是西历新年仍旧是新年。夏历正月初一日是华夏最重要的日子,但不是所谓最重要的节日,而是夏历的新年。所以这和欧美耶诞节的性质完全不同。
责任编辑:柳君
【上一篇】【宇谦】腊日知识十问十答