阴阳合历:月与年的双轨协调
世界上主要的传统历法可以分为三类:纯阳历只管太阳,一年三百六十五天上下,月的划分与月相无关;纯阴历只管月亮,十二个月一轮,月份在四季中逐年漂移;阴阳合历则试图两者兼顾——月依月相,年依太阳。中国的农历是阴阳合历中最成功、也最精密的代表。
所谓「以朔定月」:农历以日月黄经相同的那一刻(合朔)为初一,月圆之日大致落在十五或十六,月相与日序永远对应,抬头看天便知初几。所谓「以节气定年」:太阳在黄道上每行十五度为一个节气,二十四节气把回归年均分为二十四段,播种收获、寒暑交替都以它为准——节气本质上是阳历成分。
两套刻度的周期并不吻合:十二个朔望月约三百五十四天,比回归年的三百六十五点二四二二天短约十一天。若听任差距积累,三年就会差出一个多月,「正月」终将漂到盛夏。农历的解法是置闰:在适当年份加插一个闰月,使长期的月序与季节大体对齐,冬至永远落在十一月,春分前后总在二月。详见「闰月与十九年七闰」条。
就这样,月亮管日序、太阳管季节、闰月充当两个天体周期之间的调解人——三者的分工构成农历的全部骨架。理解了这一点,农历的其余细节——大小月、闰月、岁首、干支——便都不过是这套骨架上的血肉,下文将逐层展开。
在这套协调机制背后,站着的是「敬授民时」的古老传统:观象授时从来不只是技术工作,而是王政的一部分。历代设太史令、司天监、钦天监专司其事,颁历天下谓之「正朔」,改历颁历是国家大典。一部历法的颁行,意味着全国农时、祭祀、政务共用同一套时间坐标——历法由此成为文明运转的基础设施。
今天这三种历法仍有活的样本:公历是纯阳历的代表,伊斯兰历是纯阴历的代表,而农历守住了阴阳合历的传统。三者之中,唯独农历同时保住了月相日序与季节对应——夜晚的月亮告诉你初几,田间的物候告诉你何节,这在世界历法之林中是罕见的完整设计。
「农历」名称之辨:夏历、旧历、阴历
今天这套历法有着一串不同的名字,而每个名字都各自带着一段历史与一点不准确。「夏历」之称,源于传统历法自汉代以来基本采用夏正建寅、以寅月为正月,后人遂以「夏历」名之——但夏朝是否有此历法已不可确考,此名只是对岁首制度的追认。详见「岁首与正月」条。
「阴历」是最常见的俗称,也是最不准确的称呼:农历并非纯阴历,它的节气、闰月与年长全由太阳决定,阴的只有月份的日序。把它叫阴历,等于只看见了月亮而看不见太阳。「旧历」之名是辛亥革命以后用公历的产物——以新、旧相对,纯是时代痕迹,与历法本身无关。
「农历」之名通行较晚,二十世纪七十年代以后才成为官方与媒体的主称,取「宜农之历」之意。有人指出二十四节气确系农耕的时间坐标,此名有其道理;也有学者认为这套历法服务于整个社会生活,不独为农事,称「农历」只是约定俗成。此外,明清两代官方历书称「时宪历」或「时宪书」,民间则称「黄历」「皇历」,又是另一层名称的地层。
本站行文采用「农历」为正名,涉及历史语境时保留「夏历」「时宪历」等旧称;读者遇到「阴历、旧历、古历、老历」等说法,所指都是同一套历法。名号虽异,历体则一,辨识其源流,方能不被名称的迷雾遮住历法的本体。
名称之外还应注意实际使用:今日中国社会普遍处于公历与农历并行的双历状态。日历、台历多在公历日期下附注农历月日与节气;婚丧嫁娶、开业动土仍多择农历或干支日子;而工作、学习、法定假日则以公历为准。双历并行不是历法混乱,而是两套时间系统各司其职的自然结果,也是理解当代中国时间生活的一把钥匙。
至于「黄历」「皇历」一名,则因历代历书由朝廷颁行、以帝王年号纪年而得名,民间翻检历书择日办事,遂以「黄历」呼之;「老皇历」一词更演变为陈旧守旧的比喻——一部历书的名号竟能进入日常成语,可见其与生活的关系之深。
三套并行的纪时系统
打开一份传统历书,会发现同一个日子往往有几重标记:除月、日之外,还有节气与干支。这三套系统并行不悖,各有用途,共同构成农历完整的纪时网络。先分述三系,再举一例合观。
月日系统
以朔望月为单元编排日序:初一是朔,十五前后是望,大小月、闰月依天文规则安排。它承担的是日常纪时——生辰、忌日、节庆的日子都由它给出。春节、中秋、端午等传统节日全部系于月日系统,这是人们最熟悉的层面。
节气系统
以太阳黄经均分黄道为二十四段,是纯粹的阳历刻度。立春、夏至、冬至等交节日期在农历中逐年漂移,在公历中却几乎固定,正是「节气属阳」的明证。农事、物候、气候的传统知识都挂在节气上,详见「黄经与交节」条。
干支系统
十天干与十二地支相配成六十个干支名,循环纪年、纪月、纪日、纪时,四者合为八字。干支是全然独立的六十进制循环,不随大小月、闰月变动——纪日尤其绵长,两千七百余年从未间断。生辰八字、历书推算皆用此系,详见「干支总说」条。
三套系统可以举一个假想的日子来说明:历书某页写着「初三、立秋、庚午日」。初三是月日系统给出的日序,它告诉你月相将现一弯新月;立秋是节气系统的坐标,它告诉你太阳行至黄经一百三十五度;庚午是干支系统的标记,它把这一天接入六十年、六十日的循环。同一个日子,三套坐标各答其问——查日子、看天时、排八字,各有各的用处。
三套系统并行而不冲突,因为它们各有分工、互不统属:月日系统管日常纪时,节气系统管季节农时,干支系统管循环推算。农历之「复杂」,正来自这种多系统并置的完整性;一旦只取其一,它就不再是农历。
历代历法沿革简表
中国历史上颁行过的历法数以百计,见于记载的改历活动数十次,而每一次改历几乎都是一次天文测量的升级:或重测回归年,或新算朔望,或引进更精的算法。以下择其大者,勾勒这条两千余年沿革的主线。
- 古六历:黄帝历、颛顼历、夏历、殷历、周历、鲁历,战国秦汉之际托古而行,岁首各异,已皆不存;
- 《太初历》:汉武帝太初元年(公元前一〇四年)颁行,邓平、落下闳等主事,首次把二十四节气纳入国家历法并明定无中气置闰,中国第一部完整传下推步方法的历法;
- 《大衍历》:唐开元年间一行禅师所造,开元十七年(七二九年)颁行,观测精密、算法完备,成为后世历法的范式;
- 《授时历》:元至元十八年(一二八一年)颁行,郭守敬主持,测定回归年长三百六十五点二四二五天,与今值仅差二十余秒,沿用三百余年;
- 《时宪历》:明末《崇祯历书》奠其基础,清顺治二年(一六四五年)颁行,采用欧洲天文方法与定气法注历,是最后一部国家历法;
- 现行农历:辛亥革命后改用公历,传统历法退居民间;今日农历由中国科学院紫金山天文台负责编算,并于二〇一七年发布国家标准,编算方法自此有了统一规范。
这条主线背后是一个不变的逻辑:历法必须跟随天文。测天愈精,历愈密——从圭表测影到元代四海测验,再到今天的行星历表,农历的每一次进步都是中国天文学史的缩影。详见「圭表测影」条。
与国家历法并行,民间历书自成一支传统。通书、黄历在官方历注之外添入择日、宜忌等层累内容,虽非历法本旨,却让历书走进了千家万户的日常生活。本站对宜忌内容仅作民俗记录,不作吉凶判断——历法的科学部分与民俗部分,须分开看待。
现行农历的编算依据
今天所说的「农历」,早已不是某一部古代历书,而是一套以现代天文理论为支撑的编算规范。日月的合朔时刻、节气的交节时刻,都按高精度天文模型计算,可精确到分钟,再据此编排月序与日序。
二〇一七年,国家标准《农历的编算和颁行》发布,明确了农历的编算规则与日序、月序的判定标准,消除了此前各地历本偶尔不一致的混乱。现行农历编算与颁行的责任单位为中国科学院紫金山天文台,官方发布的年历以此为唯一依据。
需要说明的是,市面上历书、软件众多,个别对时区、朔时刻的取舍不同,偶有一日之差。欲查准确结果,应以紫金山天文台发布或依国家标准编算的历表为准,详见「农历与公历的换算」条。
具体编算的链条可以这样描述:天文台依据高精度行星与月球运动理论计算每一天的合朔与中气时刻,再依定朔定气规则排定大小月与闰月,最后按国家标准规定的日序、月序判定规则生成历表。由此得到的年历,在原理上与古法一脉相承,在精度上则远迈前代——传统历法体系与现代天文学在此完成了对接。
编算所用的时间尺度也值得一提:合朔与交节的时刻以均匀流逝的原子时为基础、换算到东八区的标准时,历表所列即此。古代历家用漏刻,近代用天文观测,今日用原子钟——时间基准的变迁,同样写在这条编算链条上。
农历在今天的使用场景
虽然公历已是法定纪年标准,农历却从未退出日常生活,反而在若干场景中依然不可替代——以下数端,皆是农历至今仍在运转的岗位。逐一看来,便知这套历法的身影之广、扎根之深。
- 传统节日:春节、元宵、端午、七夕、中秋、重阳全部按农历月日而定,腊八、小年亦然——没有农历,便没有这些节日的日期;
- 生辰与寿庆:民间过生日仍多依农历生辰,尤其老年人的寿诞,几乎一律按农历;
- 潮汐与渔业:朔望大潮、上下弦小潮,潮汐表与农历日序直接对应,沿海渔业、赶海、观潮皆以农历为准;
- 农谚与农事:清明前后种瓜点豆、白露早寒露迟,节气农谚至今是农时的口传手册;
- 岁时民俗:腊月扫尘、正月拜年、冬至进补,传统生活的时间节律仍由农历标定。
可以说,公历管理着现代社会的公务时间,农历则守护着传统社会的生活时间。两套历法并行互补,一个面向效率,一个承载记忆——这正是「农历总说」想给出的最终图景:它不是博物馆里的古物,而是仍在运转的时间系统。
最后还应看到农历的文化分量:它是仍在使用的最古老的时间系统之一,承载着节令、物候、农事与民俗的完整记忆。读懂农历,不仅是掌握一套纪时规则,更是进入中国人观察天地、安排生活的传统视角——这正是历法知识在今天仍然值得系统整理的原因。