历法综论 三种历法一次分清

阴历、阳历与阴阳合历

历法按参照对象分三类:只顾月相的是阴历(太阴历),只顾太阳的是阳历(太阳历),两者兼顾的是阴阳合历。伊斯兰历、公历、农历恰好各占一类,是理解「历法」最简洁的三块标本。判别只需一问:月份与季节是否锁定。看透农历体内那套阳历内核——二十四节气与置闰——农历的一切构造便豁然可解。

阴历
伊斯兰历(纯按朔望月)
阳历
公历(纯按回归年)
阴阳合历
农历、藏历(朔望月+节气+闰月)
判别要点
看月份与季节是否锁定
核心矛盾
十二个朔望月比回归年短约十一天
粘合办法
无中气置闰 · 十九年七闰

判别标准:先问一句,看月亮还是看太阳

世界上任何一部历法,都先要回答一个根本问题:以什么天体为参照。只按月相编排月份的是阴历,又称太阴历;只按太阳编排年份的是阳历,又称太阳历;既顾月相又顾太阳的是阴阳合历。判别标准只有一条,而且极其简单——看它的月份与季节是否锁定:月份固定落在某个季节、年年如一,是阳历;月份在四季中自由游走,是阴历;月份大体锁定季节、同时又要求朔望对位,就是阴阳合历。

朔望月与回归年:两把不同的尺子

朔望月是月相完成一轮圆缺的周期,长二十九点五三〇六天。月相是最直观的天象——初一不见月、十五月正圆,先民夜观天象,最容易掌握的就是这把尺子。回归年是太阳周年视运动一周、寒暑循环一次的周期,长三百六十五点二四二二天,它决定季节与农时。麻烦在于,这两个周期没有公倍数:十二个朔望月只有三百五十四天上下,比回归年短约十一天;硬凑十三个朔望月,又多出约十九天。

历法设计的全部难题,都从这十一天的「缺口」里生长出来。弃月相而取季节,成阳历;弃季节而取月相,成阴历;两者都要,就必须置闰——三种历法,正是对这个缺口的三种不同回答。

这套标准用在现成的日历上立见分晓:公历的七月永远是盛夏,月份与季节锁死,是阳历;伊斯兰历的斋月在春夏秋冬间轮转,三十余年游遍四季,月份只认月亮,是阴历;农历的正月初一总落在冬末春初,而每月十五又必近于望日,季节与月相两头都要照顾,是阴阳合历。一部历法摆在面前,用月份与季节的关系一试便知,无须深究其推步细节。

三条判据还可以推得更细一点:阳历不看月,但月相照样存在,只是被历法「无视」;阴历不看太阳,但季节照样运转,只是历法「不管」;阴阳合历两边都看,代价是历表最复杂。所谓历法之别,归根结底是「看什么、不看什么」的选择——天象人人共有,历法各取所需。

三类标本:伊斯兰历、公历与农历

伊斯兰历:纯阴历的标本

伊斯兰历(希吉来历)以朔望月为唯一依据,一年十二个月,平年三百五十四天、闰年三百五十五天,只比回归年多出几天的零头。它的月份与季节完全脱钩,开斋节、宰牲节等节日每年在公历中提前约十一天,约三十三年走遍四季——斋月有时在盛夏,有时在隆冬。月份不看太阳、只看月亮,这是纯阴历的典型面貌。

公历:阳历的近似

公历由儒略历改革而来:四年一闰,四百年九十七闰,年平均三百六十五点二四二五天,与回归年相差约零点零零零三天,三千多年才累积一天的误差——就季节锁定而言,公历是阳历的优良近似。但它的月长(三十一、三十、二十八、二十九天)是历史人为规定的产物,与月相毫无关系:十五不一定是望,初一不一定逢朔。查看任何一年的公历,都找不到月亮的影子。

农历与藏历:阴阳合历的标本

农历以朔定初一——日月同经之日为月首,月相层是阴历的;以中气定月序、以无中气之月置闰、以二十四节气充当季节骨架,季节层是阳历的。藏历同样兼顾朔望月与太阳行度(另有自身一套日月运算与闰日安排),也属阴阳合历。伊斯兰历、公历、农历合看,三类历法正好齐备,对照之下判别标准一目了然。

「农历等于阴历」:最常见的误称

误称从何而来

民间长期把农历叫作「阴历」「旧历」,这是流传最广的历法误称。「旧历」是相对公历(新历)而言的习称,尚无大碍;「阴历」之名则严格说只属于伊斯兰历那样的纯太阴历。农历的月份框架固然是阴历的,但它还带着整套阳历装置:二十四节气按太阳黄经编排,与月相无关;闰月的安插为锁定季节,也与月相无关。一部纯阴历根本不需要这些设计。

一条直观的反证

反证极其直观:若农历真是纯阴历,春节就会像开斋节一样,每年在公历中漂移十一天,三十余年游遍四季。事实是春节的公历日期稳定落在一月二十一日到二月二十日之间,永远在立春前后一个月上下——这正是节气这套阳历内核把月份「拴」在季节上的结果。称农历为「阴阳合历」,才与它的实际构造相符;「阴历」只是约定俗成的旧称,认知上应当分清。

「夏历」是另一个常被牵混的名称:它本指以寅月为正月的建正传统,与「阴历」的月相含义并不相干。今天官方文书称这套历法为「农历」,民俗仍称「阴历」「旧历」,学界则倾向用「夏历」或直称「中国传统历法」。名称的分歧本身就是误称史的注脚——称呼可以约定俗成,构造的判断却必须落在事实上。

三种历的优劣对照

三类历法没有绝对的高下,只有设计目标的不同取舍:想把日子过成月相的,选阴历;想把日子过成季节的,选阳历;两者都想兼顾的,选阴阳合历,并接受它带来的复杂。把各自的得失列成对照,取舍的逻辑立刻清楚。

  • 阴历:优点是与月相同步,初一必朔、十五必望,日期即月相,观潮、夜行、宗教月序一目了然;缺点是与季节脱钩,月份不锁定季节,无法直接指导农事与岁时。
  • 阳历:优点是与季节同步,日期即气候,同一日期年年物候相近,利于行政、通商与历表编制;缺点是日期与月相毫无关联,不看月亮。
  • 阴阳合历:优点是两全,既知月相又知季节,节日兼具月相意义与季节意义;代价是置闰复杂、月大月小不定、节气在农历中逐年漂移,历表编算难度在三者中最高。

取舍的背后仍是那十一天的缺口:阴历干脆放弃季节,让月份在四季中自由漂流;阳历干脆放弃月相,让日期与圆缺脱钩;阴阳合历则不肯放弃任何一边,于是必须用置闰把缺口逐年补回来,同时保住月相与季节两套天象。补法是否精巧,直接决定一部阴阳合历的成败——这也是各文明历法分途的起点。

置闰:阴阳合历的粘合剂

补缺口的基本办法,是隔几年多排一个闰月。十九个回归年恰约等于二百三十五个朔望月——前者六千九百三十九点六〇天,后者六千九百三十九点六九天,误差不到两小时。古希腊天文学家默冬发现这一周期,故称「默冬章」;中国传统则表述为「十九年七闰」的章法,两者所论其实是同一条天文规律。

中国古代的取法更精一步:不是机械地每隔几年闰一个月,而是按「无中气之月置闰」的规则,让闰月的安插自动跟随节气分布——哪个月没有中气,哪个月就是闰月。这条规则把置闰从人为指定变成了算法判定,详见「无中气置闰」条与「闰月」条。

章法的名字本身也有来历:古代历家把回归年与十二个朔望月之间的差数称为「闰余」,闰余积满一个月,便置一闰月——《汉书·律历志》「朔不得中,谓之闰月」的算法即由此铺陈。章、蔀、纪、元的层层周期,都是围绕这个缺口设计的放大刻度,十九年七闰是其中最著名的一级。

置闰的直接效果,是把月序与季节锁定:正月永远在冬末春初,七月永远在盛夏,八月永远在仲秋。也正因如此,农历月序本质上是「季节坐标」——月序相同而年份不同,物候农事大体可比。这是阴阳合历对农耕社会的核心价值,也是「农历」这一名称的由来。

顺带一提闰月的「地位」:闰月没有中气、不承担月序职责,古人视之为「余分之所归」——把历年积累的零头集中安放的一个月。民俗对它也不另设节日,岁时活动多沿用前月之例;它在农历中是刻意的「空位」,而正是这个空位,让其余十二个月得以次第有序。

二十四节气:农历中的「阳历内核」

理解农历的钥匙,在于看清它体内那套阳历装置。二十四节气按太阳黄经划分,纯粹是太阳的历,只是没有独立成历,而是嵌入农历的月框架之内,充当季节骨架:四立定四季起讫,二分二至定极点与均分点,十二中气定月序,节气分布定闰月。可以说,农历等于阴历的月相层加上阳历的节气层,两层叠合,才是它的完整构造。

这层构造也解释了一个常见现象:节气在公历中日期几乎不动——清明总在四月四日、五日前后,冬至总在十二月二十一日至二十三日——在农历中却逐年漂移。因为公历与节气同属回归年体系,而农历月是阴历的,只能在节气框架上滑动。

把「节气是农历的阳历内核」这一层看透,农历的一切「反常」都能得到通解:为什么有闰月(补十一天的缺口)、为什么月大月小不定(朔望月非整数天)、为什么春节日期浮动(正月初一须落在立春前后的窄带内)、为什么夏至不一定在五月。历法条目中的「农历总说」「朔望月」「平气与定气」诸篇,正是这一构造各部件的展开。

同系列的分工也循此构造安排:农历总说讲全貌,朔望月讲阴历层,平气与定气、无中气置闰讲阳历层的运转,干支各条讲节气历的独立体系。查任意一年的节气与闰月,可用工具页万年历逐年核对——把三块标本对照着翻一遍,三类历法之分便不再是纸面定义,而是看得见的差异。

最后回到名称本身:叫它农历也好、夏历也罢,只要知道所指是这套「月相为表、节气为里」的双层构造,称呼并不妨碍理解;怕的只是把「阴历」二字当成它的全部,而漏看了其中那一半太阳的骨架。

本文为历法知识库的知识性收录,不含吉凶断言与现实建议; 实时排盘请前往工具库。