本文不仅烧脑,还特无聊……只能配图上多加技能点了。很多人习惯将中国传统历法称为“阴历”,而把我们常用的公历称为“阳历”,好像表明了她们的一个来自月亮,一个来自太阳。其实中国历法(以下称为“夏历”,因为我家里方言叫这个)是一种“阴阳合历”,也就是既参考月亮,也参考太阳。月亮部分我们都知道啦,就是我们夏历里的月,月亮圆了缺了一次就是一个月,一般是29天或30天(月亮部分请拉到文章后半截看)。太阳的部分呢?太阳的部分主要体现在“二十四节气”和“年”。只要插一根棍子每天正午去测量它的影子,那么影子最长的那天是冬至,而最短的那天就是夏至了。造成这种区别是因为地球公转(初中地理的范围),所以夏至白天最长,而冬至白天最短。这样周而复始的一个周期,就是一年。(本文所有情况都是以中国中原地区为例)看起来节气特别好算,知道哪一天是冬至,哪一天是夏至,那我中间分别平均分成12份,那么不就有24个节气了么?但是这个你以为很简单的问题,历史上中国人争论了一千年……看起来很容易的除法,却遇到了一个很大的问题——地球的运动不是匀速的!
我们现在都知道天体运动都会受各种引力影响,地球主要会受到月亮和太阳的影响,所以地球运动不是那么理想化的。比如地球绕着太阳跑,一会儿跑得快,一会儿跑得慢,尽管这个快慢有规律,但是依然产生了问题:①古人得发现地球公转的这个非匀速的问题;②非匀速的规律得会计算;③算出来了得放在历法上用,老百姓都要用理解要有人接受才好啊……
△ 都说我们是中国传统历法是“阴阳合历”啦!
公元600年,还是隋朝的时候。刘焯(超级大牛人)完成了这部《皇极历》,想用以纠正当时历法里的错误却没被采用。但是就是这么一部未被采用颁布的历法,却写入我国的历史,成为我国天文史上熠熠生辉的一笔。在《皇极历》里,刘焯不仅提高了之前天文数值的精度,还提出了许多发现(具体大家百度“刘焯”或“皇极历”吧,一个是写不完,一个是我是文科生!)。我们提到他的原因就是他提出二十四节气的算法要改啦!在刘焯之前,大家都是默认二十四节气应该按照日子平均算,就是每个节气之间的时间是想等的(这个数字大约是15.22天)。这种算法被成为“平气法”。但是由于刘焯意识到运动的不均匀,他认为应该按照地球运行的角度来说,也就是地球每运转15°算一个节气,那么每个节气之间的日子就不相等了。这种算法被称为“定气法”。定气法能很好地忽略掉地球公转角速度的不均匀。尽管“定气法”刘焯那会儿就提出了,尽管《皇极历》没有被采用,但是到了盛唐开元年间张遂(又一个超级大神)修订的《大衍历》就开始使用刘焯的方法来计算,只是不拿来作为历法上节气的标注。《大衍历》被称为唐代最好的一部历法。时间一直到明代,徐光启等人开始主张采用“定气法”来标注节气与历法。但是不仅仅我们以为只是改一个节气的设置日子而已,由于我国历法是阴阳合历,如此伤筋动骨地改动阳历部分,其实是牵一发而动全身的事情,所以大家一直都在争论。一不小心,明朝先玩完了。很多人都觉得明朝是我国古代科技史最灿烂的时候,一方面千年的准备和沉淀都摆在眼前,另一方面西方有远道而来的传教士,工业文明也还没有来到。比如明朝最后几十年的中国历法天文学,有专攻古典天文学的朱载堉和刑云路,也有从西方来的利玛窦、汤若望,更少不了实际推动学习交流西方文明的徐光启、李之藻等。“定气法”在经过隋代提出,唐代计算,明代争论,终于在清初被采用了。1645年,正式采用“定气法”的《时宪历》颁布,那是崇祯皇帝自杀后的第二年。而这部《时宪历》是在徐光启主持编写的《崇祯历书》基础上,由汤若望删改而成的,世间事令人感到讽刺莫过如此。但是《崇祯历法》是一部采用西方天文学理论的历法,所以《时宪历》颁布后也遭受到了强烈的抨击,汤若望险些丧命,《时宪历》也一度被废止。不过很多人也不必一听到西方天文学就紧张的要死,好像家里什么好东西被人抢了一样(有些人就是喜欢中华文明是闭门造车,啥成就都是自个儿的),西方天文学帮助我们更好地计算历法里的天文问题,整体的历法思维还是中国的。乾隆时在《时宪历》的基础上修《癸卯元历》,进一步更新了历法中的天文理论,当然还是西方的,比如开普勒定律。这一切都是为了提高历法的精度,这部历法一直用到民国。可能很多人都不能理解怎么这个节气还跟闰月有关系了?这个关系大了去!节气还影响你什么过年放假呢!因为一年12个月,但是按照阴历的月份来算,那这样一年只有354.3672天而已,而一个回归年却有365.2422天,相差了10.8750天,这样不到三年就可以相差一整个月出来啊!随意就必须设置闰月来调整这个差值。就算设置闰月,那也是月亮的事情啊。然而什么时候闰月,闰几月却是节气说了算的!在平气法里,节气之间的时间是固定的15.22天,而一个望朔月(就是月亮圆缺一个周期)只有29.53天。所以不是每个月都可以放进去两个节气,这个差值是就是由于太阳和月亮造成的(忘记的去看下本文开头第一段),所以他们就决定没有“中”气的那个月就是闰月。这种设置闰月的方法,早在西汉公元前104年的《太初历》就开始采用了,也是这部历法正式将节气明确到历法中。可见闰月不是你想闰就闰的,又要算月亮又要算太阳。基本上的规律是19年有7个闰月。在中国节气里,冬至是历法最重要的一个。计算两个相邻的冬至相距时间,确定一年的长度。然后再计算“望朔月”和节气,如果这一年有13个月,那么冬至以后第一个没有中气的月份就是闰月。不过这是很理想的计算状态,毕竟历法始终在变动。为什么“定气法”隋代就被提出了却没有被采用,就是因为如果这样子节气之间的时长从原来的定数变成了不定数,原本设置闰月的方法就全乱了呀。所以拖了一千多年,还拖死了明朝。而冬至所在的那个月会被立为“子月”,而“寅月”则是正月。所以冬至也决定了你什么时候过年。我们说“猴年马月”,马即是午,算下来就是猴年的夏历五月。而端午的午也是来自于它是“午月”。(我们都熟悉的“八字”里,你的属相决定了第二个字,而你出生的月份决定了第四个字。)由于夏历已经不是我国的官方使用的历法了,但是在民间还会保留一些旧俗,于是就出现了许多历法使用上的疑惑。这个问题在民国就已经出现了。民国有《新法天文夏历》和《紫金历》两部历法。但是历法这个东西,天文地理都有关系,由于民国起历法单位变成了紫金山天文台,所以经度产生了变化,节气上会有14分钟的差距,有时候这个差距会让节气看起来相差了一天。不同的历法也会令闰月的设置产生偏差,可以百度著名的2033年闰月问题。比如很多人比较关心的属相应该怎么算呢?按照子平术(四柱八字)的方式,他的分界点在于立春。立春是二十四节气中的第一个。在子平术中,甚至要计算立春那个角度的确切时间,即同在立春当天出生,生于春分时刻之前就会是前一个属相。
而古人纪年多用正月初一来划分。其实我们现在管正月初一叫“春节”,其实春节这个名字是立春的,它的本名应该是元旦。只是民国把元旦给了公历的1月1日,春节就变成了正月初一。现在我国官方已经不再使用夏历纪年的,而是通用公历,所以这个中国年的争论是民间层面的。
你买一本老黄历呢,用子平术的多。你用网络万年历呢,就看程序员当年下的是什么公式了,一半一半吧。只不过,你使用子平术就没有什么“无春年”、“双春年”的问题了,使用正月初一呢这个烦恼就会有。而讽刺的是,子平术更加偏向命理,那么迷信鬼们应该就不存在“无春年”的争议啊,现在是谁危言耸听就听谁的是么?
可以很清晰地看到,冬天的时候地球靠近近日点,节气之间间隔很相近,夏天则相反。回忆一下我们刚才说的设置闰月的方法,就会明白使用了“定气法”之后,闰月就会更频繁出现在间隔周期比较长的远日点附近的时候。加上历法的计算,闰四、五、六月就比较常见,而闰腊月、正月的就比较少了。而曾经在使用“平气法”的时候,闰月几乎是规则地推进,每个月份出现的机会几乎均等。△ 《太初历》(-104)颁布到《时宪历》颁布前(1644)的闰月统计,冬月即子月,就是冬至所在月份所以,在使用“定气法”的《时宪历》颁布后,至今没有出现过闰正月。最后一个闰正月是1659年仍在使用明代旧历法的南明永历年间,而那一年使用《时宪历》的清廷则是闰三月。世界上最远的距离大概也可以把这个算进去。而下一个最近的闰正月则是2262年,闰腊月更远,要3358年。所以,不要操心闰正月能不能放两次假了,我们熬不到的!既然节气的算法都有“平气法”和“定气法”了,那么月亮也有!因为大家原因都是,天体运行是不均匀的。只不过月亮的问题是早发现早解决。月亮一次圆缺的周期被成为“朔望月”。朔是新月,初一;望是满月,十五或十六。顺便还可以再说一个晦,朔的前一天,廿九或卅。由于朔望月平均是29.53天,近乎于等分了。所以很长时间里大家都觉得一个月大(30天),一个月小(29天)这样弄挺合适,这种方法就是“平朔法”。但是这样时间长了会令新月出现在晦日或者初二,人们便意识到算错了!至九年正月,用祖冲之所造《甲子元历》颁朔。至大同十年,制诏更造新历,以甲子为元,六百一十九为章岁,一千五百三十六为日法,一百八十三年冬至差一度,月朔以迟疾定其小余,有三大二小。未及施用而遭侯景乱,遂寝。陈氏因梁,亦用祖冲之历,更无所创改。可见南朝时期就发现了这个大小月平均算的“平朔法”有缺陷,然而因为“侯景之乱”而未能继续研究下去进入历法。不过祖冲之这部《甲子元历》(也称《大明历》)也是很厉害的,已经精确测算到了朔望月长度为29.5309日,以及391年144闰的新周期,两者结合大大提高了对“回归年”的估算,与现代测算的误差都是细微到我们这种凡人不可理解的地步了。(这部历法中算出了较为精确的“交点月”,这个数是可以用来算日食月食的,于是祖冲之用《甲子元历》精确预测了436年到公元459年的23年间发生的4次月食时间)能精确计算“朔望月”的长短是后来“定朔法”出现的基础。唐初的《戊寅历》正式废除了“平朔”开始采用“定朔”。可以说,当大家刚发现“定气法”都还没来得及用来计算的时候,“定朔法”已经被采用了。所谓“定朔”就是要确保每月的“合朔”要发生在初一当天,这样月相便不会乱了。“定朔”进入历法的波折不大,无它,只是这算错了谁都会发现月亮不对劲(大雾)。
日月相推,日舒月速,当其同﹝所﹞,谓之合朔。
——《汉书·律历志》
所以,大年没三十是一件概率很高的事儿,你这辈子已经遇到过很多次了,今年就不要大惊小怪了!
理论上,“定朔”和“定气”都是令历法更符合天体运动、更精确的方法,怎么会让历法变得更糟糕呢?其实前面已经提了一嘴关于“定气”为何争论千年都无法正式进入历法,其实另外还有一个原因,就是“定气”和“定朔”会互相抵消,令设置闰月的方法失效。纳尼!前面扯了这么多脑细胞都快死光了,结果跟我说会抵消?搞毛线啊!它俩其实是分别是用于修正太阳和月亮变化上的问题,是属于两个轨道上的事情。原来我们的“无中置闰法”是基于大家伙都是规律运动的基础上的,是基于每个“望朔月”周期短于两个“中气”相隔的时间。但是一旦“定气”又“定朔”,“中气”在“月”里出现两次或者根本不出现的原因就不单单是如此了。比如,人家可以刚好算出来这个月小而正好这时候节气相隔远,就很容易遇到发生月里无“中气”,但是这事和设置闰月的初衷相违背的。这个误差放在一年之中,是不足为道的,但是精确到月份上就会出现多个符合“无中置闰”条件的月份,那无非就是我们选其中一个为闰月(一般第一个没有中气的月份),另一个就不管啰。甚至还会出现“定朔”和“定气”相互抵消,“闰月”的设置间隔月份不再均等。这个后果就是,夏历的“年”长长短短很混乱,这就会造成很大困扰啊!目前而言,大多数情况下仍可使用“无中置闰”的方法,但是有时候会失效,就需要另行计算和规定。反正也不是我们该操心的事儿啦(天文学家们,赶紧准备好撕胯吧!)这篇真的写得超级长,没有分上下集的我也是良心啊!反正身为一个文科生,我写的也是real心累啊。整理了一些另外的冷(装)姿(X)势(料)给大家,里面会提到上面的内容,全当复习了(考试月刚过都要看到这个啊!)“定气法”的出现是由于公转运动造成的,地球并非在椭圆轨道的中心。然而由于地球不仅仅只收到了太阳引力的影响,其他大行星也会影响我们,所以这个近日点、远日点也是会变化的。这种现象被称为“近日点进动”。变动一圈的周期是周期约为21000年(好久),具象换算下就是每58年地球推迟1天到达近日点。现在我们到达近日点的时间是1月初(就是前阵子啦),而1250年(南宋)近日点则在冬至附近。也就是说,总有一天远日点和近日点会调个个儿,那么到时候我们就可以享受闰正月的高发期了(然并卵)。晦而月见西方谓之脁,朔而月见东方谓之朒,亦谓之侧匿。晦就是每个月的最后一天,朔是初一。朓、朒(nǜ)二字表明了月相与夏历月的出入问题。这就是平朔造成的问题,使用定朔,永远确定“合朔”日为初一自然就不会有这个问题了。所谓古历平朔之日,月或朝觌东方,夕见西方,则史官谓之朏朒。(不要问我这俩字表示的是误差是快了还是慢了,初中地理没学好)作为夏历计算的基准之一,冬至所在的月份为子月是不变的,但是子月不代表它就是一年的开始。古人认为地上有十二个月,天上就有十二个时辰,那么天上的时针就是北斗,所以从“建子之日”的冬至开始依序给大家排排坐。岁首则是另外大家在历法里自己规定的。
殷历正月建丑,周历建子,夏历(此处夏历只的是“古六历”之一,我已经尝到自己作妖的苦了)建寅,秦历(颛顼历)建亥……这个正月是会动的!加上古历法实在是错漏太多,于是汉武帝时期就颁布了本文中出镜率极高的《太初历》。这部历法里不仅有了二十四节气,出现了“无中置闰”的闰月设置规则,并且采纳了夏历建寅的方法,这个规则后来一直没有变动,所以寅月就成为了不变的正月。
由于古代农业是重头戏,所以正月设在寅月相当于把春天立为了一年的开端,也是为农业考量(不种地的我并不能感受到,只觉得还是很冷啊!)。那比如秦历(颛顼历)建亥,亥月在冬至所在的子月之前,相当于冬天过年。
在著名的“明治改历”中日本废除了夏历(其实你要百度的话,一般写作废除了农历,我作妖在本文里全部写成我方言习惯里的夏历),但是就像当年民国也很想废中国旧历却废不掉一样,因为大家想过节啊(大雾)所以,日本就想出来一个办法,把旧历上的节日都放到公历上过。比如,我们春节正月初一,人家1月1日,我们七夕七月初七,人家7月7日。节照过,日子也不该,换个历法套而已。而季节性要求较强的诸如盂兰盆节等节日则采取推迟一个月举行的折衷法。这样变动的主要问题就是,公历对于季节表达和夏历是有差别的。比如,你9月9日和九月初九过重阳节,一个估计就看不到菊花了。其实古代历法主要是为了农业,现代社会农业对于历法的依赖其实是降低了(有天文站和气象局啊),所以旧历被废除后大家也就只剩下争论下文化内涵这种东西可以争议争议啦(此地就不打脸某号称有指教北大清华能力的明星了)。好在此事发生在日本,跟我们关系不大。写了快一个礼拜的长文,就这样了,以后有啥问题再补啰。