朔、望、弦:日月地的位置游戏
月亮本身不发光,人们看到的月相,只是日月地三者相对位置的投影。三者每换一个角度,天上便换一种月相;古人从中挑出四个关键位置,命名了四个时间锚点——朔、弦、望。四个名字,撑起一套完整的月相体系。
朔:日月同经
朔,是月亮运行到太阳与地球之间、日月在天球上黄经相同的时刻。此时月亮以暗面朝向地球,与太阳同升同落,完全不可见——农历的初一便定在这一天。《说文》释朔:「月一日始苏也」,朔是月相周期的零点,也是农历每一个月的起点。
望:日月相对
望,是日月黄经相差一百八十度、地球居间的时刻,月亮以整个亮面朝向地球,是为满月。满月未必恰在十五:由于朔到望之间月行有快有慢,望常落在十五,也有相当比例落在十六,偶有落在十七——「十五的月亮十六圆」正是这个天文事实的民间表述。
弦:日月相距九十度
上弦在朔后约七点四天,日月黄经相差九十度,可见半个月亮、亮面朝西,黄昏时高悬中天;下弦在望后约七点四天,同样是半月、亮面朝东,凌晨时中天。朔、上弦、望、下弦把一个朔望月大致四等分,古人借这四个相位粗定月中时序,渔民行船、夜间行路都曾依赖月相计时。
四个锚点之间还有连续渐变的月相:朔后一二日,薄暮西天现一弯细如眉的月牙;上弦之后月亮渐趋盈满,凸月横亘黄昏后半夜;望后复亏,下弦后的残月黎明高照,朔前则只在清晨留下淡淡一痕。月相的盈亏是一个连续过程,锚点只是为方便纪时而取的四个关键帧——读月相而知日序,古人谓之「月相纪日」,在甲骨文与金文中已有成套的记法。
朔望月的长度
从上一个朔到下一个朔的平均间隔,称为朔望月,现代测值为二十九点五三〇五八八天,约合二十九天十二小时四十四分。月亮绕地球公转一周的恒星月只有二十七点三二天,之所以朔望月更长,是因为地球同时也在绕太阳走:月亮要再追过太阳走过的这段路,才回到朔的位置——多出的两天多,就是「追太阳」的成本。
还须注意:二十九点五三〇六天是平均值,单个朔望月的实际长度在约二十九天六小时到二十九天二十小时之间波动,差幅可达十余小时。原因是月亮沿椭圆轨道运行,速度时快时慢,太阳的视运动也有同样的起伏——合朔时刻因此忽早忽晚,相邻两个朔的间隔也就忽长忽短。这个波动不是误差,而是农历大小月安排的全部根源。
与朔望月并存的还有其他几种「月」:月亮绕地球一周的恒星月约二十七天三二天,日月两次同过升交点的交点月约二十七天二天,两次通过近地点的近点月约二十七天五五天。它们都比朔望月短,且各有天文用途——交点月用于推算日月食,近点月用于校正月行迟疾。历算家分而用之,以朔望月纪日、以他月辅助推步,是农历天文底色的又一证明。
顺便一提,朔望月与恒星月之别常被忽略:若月亮的位置不受太阳视运动的影响,人们将只见它绕行而不见盈亏——正是太阳的方向不断改变照亮的角度,才让月亮有了圆缺的姿态。盈亏属于日月地三者的合舞,缺了谁都不成。
大小月的安排:定朔法
朔望月长二十九天多,不足三十天,所以农历月的日数只能取整为二十九或三十:前者叫小月,后者叫大月。至于某个月取哪一种,规则只有一句话——以真实合朔的那一天为初一,从本月初一到下月初一的间隔若含三十个日序便是大月,含二十九个便是小月。
这套以实际合朔时刻定月的方法称为「定朔法」,现行农历严格遵行。它的推论是:月的大小不由任何表格或公式预先规定,而由天上真实的日月位置决定;两个朔之间夹着多少个完整的日子,那个月就有多少天。历算家算出的是朔的时刻,编历时数出来的是日数——月长是计算的结果,不是规定。
由此还有一个重要推论:初一必然是朔日,但朔日的时刻可以在这一天的任何时刻;如果合朔发生在某日深夜,此日之前的月亮仍是上个月的残月——民间有时会观察到「初一有月牙」,那其实多是三十日的黄昏残月,或时区与历本差异所致。
举一个示意性的排月过程:设某月初一之日恰逢合朔,编历者先算出下一次合朔落在第几日;若下个朔落在第三十日,本月含三十个日序,即大月;若落在第二十九日,即小月。逐月如此衔接,一张大小月表便自然生成——没有任何一步依赖人为规定,全部由朔的时刻链推出。
月长的整数化还有一个附带结果:农历月的平均长度在长时段上仍是二十九点五三〇六天,大月略多、小月略少,长期统计恰好补齐余数;个别的连续大月、连续小月,都在平均值的容许之内。年复一年,规则精密如钟表,只是钟表的齿轮换成了日月的天文位置。
连续大月与连续小月
既然朔望月实际长度在二十九天半上下摆动,大小月便可能连着排。当月亮行近远地点、朔望月接近其最大长度时,几个连续的朔望月都可以容纳三十天,于是出现连续两个、三个大月;个别时候甚至出现连续四个大月。反过来,月亮行近近地点时朔望月偏短,也可能出现连续三个小月。
这与公历形成鲜明对照:公历一、三、五、七、八、十、十二月永远是大月,二月永远是二十八或二十九天,四年一轮整整齐齐;农历的大小月却逐月依天文而定,今年三月是大月,明年三月可能就是小月。翻检任何一年的农历历表,都会发现大小月的分布毫无节奏可言——不是历算粗糙,恰恰相反,是它忠实记录了月亮的真实运动。
民间常有「农历大小月有口诀可背」的传说,均不可信。唯一可靠的判断途径只有天文计算或查依国家标准编算的历表,详见「农历与公历的换算」条。口诀之不可恃,正因天象之不可背诵。
正因如此,翻旧历书时若见连续大月或连续小月,不必疑心排错,那恰是月亮走得快慢的真实痕迹;月行不均匀这一天文事实,就这样直接写在每家每户的日历上。这也是定朔历法最直观的可验之处。
从平朔到定朔的历史
早期历法用的是「平朔法」:把朔望月平均值等分,预先算出朔日的平均时刻,据此排定初一。平朔简单易行,但平均值与真实合朔有误差,累计可达半天以上,结果就是历书上的初一有时并非真朔——月亮未必恰好不可见,历法与天象脱节。
东汉刘洪在《乾象历》中已认识到月亮运动不均匀,算出「迟疾历」以校正月行,为定朔奠基。南朝何承天、隋代刘焯先后力主定朔,刘焯《皇极历》甚至给出完整的定朔算法,但因推算复杂、触动旧制而未及施行。
唐武德二年(六一九年),傅仁均《戊寅元历》颁行,首次以定朔注历——从此历书上的初一必是真朔。其间因定朔偶尔导致连续大月或连续小月,遭朝臣非议,李淳风《麟德历》以「进朔」之法变通调和;至元代《授时历》废除进朔,严格依定朔排月,明清历法沿之,定朔制从此稳固。而节气方面由平气改定气,则要到清初《时宪历》才完成,详见「平气与定气」条。
定朔制的确立是历法史上的分水岭:从此历书上的月序与天上的月相再不脱节,「初一必朔」由近似变成精确。这条路径也再次说明中国历法的性格——宁可算法繁难,也要贴合天象;历从于天,而非天从于历。
月大月小与公历之别
把两套历法的「月」放在一起看,更能见出设计的不同。公历的月是罗马史与政治妥协的遗物:长度三十一、三十、二十八、二十九不等,与月相全然无关,只因过长了些、又参差,才让今天的人误以为它与月亮有关。农历的月则是天文学的直接投影:日序即月相,初一无月、十五满月,月名与天象永不脱钩。
代价是规律性的丧失。公历月长固定,可以印在墙上、背在心里;农历月长逐月测定、逐年不同,只能依赖历算与历表。古人于是发展出以月相补历的办法——看天上月牙的胖瘦,即知大约初几;看满月偏在十五还是十六,也能略知当月大小。历书未及的时代,天上的月亮本身就是一本摊开的历书。
对普通读者而言,须记的只有三条:农历每月只有二十九天或三十天,没有三十一天;大小月不固定,逐月逐年均须查表;月末二十九或三十都可能紧接下月初一,故「三十」并非每月必有。查任意年份的大小月安排,可用本站万年历工具。
月相还悄悄管理着一部分传统节日的心情:元宵、中元的灯与月,中秋的团圆月,下元的清寂——月圆月缺早已成为节日氛围的一部分。农历的月,因此既是历法的单位,也是文化的节拍器。