3694205702_6081639652 “你猜,我的生日之前400年那天发生了什么事?”每当有人问到我的生日,我都习惯在告诉对方后反问这样一个问题。从未有人答对过这个问题,因为……那一天什么都没发生过。我没骗你,那一天真的什么都没发生过,既没有人出生,也没有人死亡,太阳也从未在那一天升起过,因为那一天根本不存在!

农历不是阴历

好吧,为了表明我真的不是在开一个恶劣的玩笑,或者是讲述某个《圣经》故事,我来从头解释这是为什么。这个问题牵涉到一个很古老的东东——历法。在精密钟表发明前,古代人对时间的感知不外乎太阳的东升西落、月亮的阴晴圆缺以及四季的冷暖更替。因此,对于任何一个历法来说,其主要概念都有两个:月和年。从天文学的角度看,年是地球绕太阳运转一周的时间,而月的长度则关系到人们在地球上观测到的月亮的圆缺变化。以这两个概念为标准,世界历史上使用过的历法主要有三大类。

第一种是阳历,这种历法的设定是以地球绕太阳运转周期为基础的,现在全世界通行的公历(格里高利历)就是典型的阳历。在公历中,一年的长度就是地球绕转太阳运动一周的时间,而月的长度虽然与月亮圆缺变化的周期差不多,其实却是完全不考虑月亮圆缺规律的。

另一种是阴历,阴历的设定是以人们对月球的观测为基准。阿拉伯国家通行的历法就是阴历,这种历法每个月的长度严格按照月亮的圆缺规律设定,一年的长度却比地球绕太阳运行一圈的时间要少一些,只有350多天。因此,阿拉伯历法中的新年,既可以出现在冬季,也可以出现在夏季。

最后一种是阴阳结合历,这种历法既要符合月球的圆缺变化,又要照顾到一年中的四季变化。中国传统的农历虽然通常也被人称为阴历,其实却是典型的阴阳结合历。在农历中,通过设置闰月来弥补纯阴历在年的长度上与阳历的差异。我国古代的历法编制者们经过反复推算,制定了“19年7闰”的农历体系。农历是世界上现存为数不多的阴阳结合历,它能很好地和各种天象对应,它的节气严格对应太阳高度,历月较严格地对应月相,与月球运行相关的天文现象,如日月食,潮汐等,也都能很好的对应。表现农历的这种阴阳结合特点的典型的例子是二十四节气,虽然它是农历的一部分,但某个具体的节气却并不与农历中的日期相对应,而总是出现在公历中特定的某几天之中。比如二十四节气中唯一的节日清明节,就总是出现在公历4月4日至6日中的某一天。

遗憾的是,如今却没有多少人知道农历的这些特点了。传统的农历是怎样逐渐淡出了我们的视野呢?原来,历法不仅仅是一个普通的计算日期的标准,它还是统治权和霸权的象征,谁主导了历法,就意味着取得了统治地位。在古代的中西方,历法都具有极大的政治意义。

历法曾是王权的象征

3675944130_0bae692202曾经,历法是中国历史上历代中央王朝统治的象征,对历法的垄断象征了王权的合法性。古人赋予颁历权以高度的政治含义,认为地方政权是否接受中央政府颁布的历法,象征着它们是否愿意接受中央政府的管治。古人之所以有这样的认识,是因为他们认为,君主是受上天的委托来治理天下的,是代天施治。历法反映的是天时,所以颁历就是君主代替上天向民众授时。承认了君主的颁历权,也就等于承认了他们作为上天代理人的身份,当然也就表示愿意接受他们的统治。因此,当一个新王朝得天下之后,天文学家们马上就有一项必不可少的任务,即为新王朝提供新的历法。相应的,历朝历代中央政府中,都有专人负责与历法息息相关的天文观测工作,而那些用来观测天象的仪器设备则一定要由中央政府来垄断。

当商朝取代夏朝后,它的历法规定新年的正月比夏历提前一个月,以视不同。而在周朝取代夏朝的过程中,据说周武王在伐纣之前,曾经做过一系列的示威举动,其中就包括专门命人赶建了一座观象台。周武王作为地方领导人,本来没有资格建设这样的观象台,因此,他的这一举动的意义就不仅表示自己已经获得了制定历法的权力,而且不逊于公开宣称自己准备武装叛乱。

也正因为历法是王权的象征,在清朝初年,西方传教士汤若望协助清廷修订历法时,因为在颁行的新历的封面上印了“依西洋新法”五个大字,被守旧派抓住,成了一条无法分辩的罪名。最后,守旧派以把颁历权拱手让给西洋人为罪名,判传教士汤若望有罪,还诛杀了一批涉案的中国人。守旧派的代表杨光先直言:“宁可使中国无好历法,不可使中国有西洋人。”

值得一提的是,这个事件从头至尾都与日食有关。汤若望最初受朝廷委托修订历法是在名朝的万历年间,而起因就是因为北京发生的一次日食。负责掌管天象的机构钦天监事先居然没有呈报,以至崇祯皇帝大为恼火。明朝灭亡后,当汤若望将新历书献给清廷时,顺治皇帝为了验证新历与明朝的“大统历”,清朝的“回回历”三者哪个更为精准,曾要求相关人员用三种历法各自推算即将发生的一次日食的起止时刻,到时候现场验证,结果汤若望的新历获胜。事隔20年,就是在这次判处汤若望有罪的事件中,起先康熙皇帝仍然宣旨让新历与旧历在预测日食问题上进行PK,结果仍然是新历获胜。

即使到了20世纪,同样的事情也一再发生。中华民国成立以前,孙中山等资产阶级革命党人在发行书刊、进行革命宣传、建立组织、开展革命活动、发展武装起义的同时,也从历法上对满清政府予以否定。因此在辛亥革命前近10年间出现了十余种不同的纪元,当辛亥革命成功后,就废除了沿用几千年的农历,而采用世界通行的公元纪年,还同时使用“中华民国”作为年号。而当1949年新中国成立时,又明确规定新中国只采用公元纪年。

也就是从20世纪初开始,中国传统的农历受到了排斥而逐渐边缘化。农历新年本来叫做“元旦”、“新年”,在1914年袁世凯批准的一条呈文中,农历新年被改名叫春节,而元旦和新年这两个称呼则被转送给了公历新年。激进的民国政府还曾想将农历完全废除,将传统节日全部搬到公历系统当中,并禁止人们过春节。据记载,民国政府曾在春节期间派警察到关门停业的商店强迫其开门营业,甚至连乡间售卖旧历书的小贩也抓起来拘留。

改来改去的公历

3caesar

尤利乌斯·凯撒

那么,现今世界通行的公历又是怎么发展来的呢?历法作为王权的象征,在中国如此,在西方也是一样,这从公历的发展史上可以看出来。。

公历起源于古罗马。古罗马本来也是使用阴阳结合历的,但是误差很大,使用不便。到了公元前46年,儒略·恺撒(Julius Caesar)统治期间,采纳了一位埃及天文学家的建议,颁布了新的历法“儒略历”。在儒略历中,每一年的第一天被规定为冬至日之后的第十天,每月长度被设定为相互间隔的30天或31天,由于恺撒自己生于7月,他就把7月命名为“儒略月”(July),月份当然也要长一点,被设定为31天,并因此确定 了一年中单数月份为31天,双数月份为30天,这样加起来就是366天了。由于古罗马处决死刑犯的时间是在每年的2月,因此2月就被认为是不吉利的月份,干脆减去一天算了,这样,一年就是365天了。

恺撒之后,另一位古罗马皇帝奥古斯都(Augustus)当政,奥古斯都原名屋大维,是恺撒妹妹的孙子,后来被恺撒收为养子并指定为继承人。恺撒被刺后他成为罗马皇帝,并改名奥古斯都(Augustus,即“尊崇”的意思)。所谓“上行下效”,既然舅公恺撒有属于自己的月份,奥古斯都也得要一个自己的月份。他出生在8月,因此就将8月命名为“奥古斯都月 ”(August),也将8月由30天改为31天,9月之后的4个月仍按30天和31天间隔排列。这样一来又多出了一天,于是不吉利的2月再减去一天,只有28天了。

地球绕太阳运转的实际时间要比365天长上几个小时,因此,就需要设置闰月来处理逐渐积累起来的误差。儒略历规定每4年设置一个闰年,放在那个不吉利的2月。这样,在短时间内看误差被抵消掉了,但几百年之后误差还会逐渐增大到以天为单位来计算。儒略历在欧洲实行了1600多年,到了16世纪,新年的日期实际上已经比儒略的时代推后了10天,各种物候天象和历法本身已经严重脱节,人们也早就认识到了儒略历的这个缺陷。1582年,当时的罗马教皇格里高利十三(注意,是十三!)世终于忍无可忍,下令改革历法,规定以后每遇到满100年的那次闰年取消,但满400年的那次闰年仍然保留,这就是现行公历“格里高利历”。但之前已经积累的那10天误差怎么办呢?格里高利十三世采用了最简单粗暴的方法:规定1582年10月4日的次日为10月15日,中间那10天直接减掉算了。这样,那一年就只有355天了。当然了,这也是本文开头那个问题的答案。

gregory_xiii

教皇格利高里十三世

格里高利十三世这种快刀斩乱麻的方法虽然解决了儒略历积攒了1600多年的问题,却也造成了一些新的问题。新历法在当时的天主教国家立即实行,但由于当时正值欧洲宗教改革时期,已经改信新教的那些国家对新历法无动于衷,甚至认为这是教皇的一场阴谋,目的是要恢复罗马教廷的统治(显然,如果新教国家接受了格里高利历,就有愿意接受罗马教廷统治的意味)。在之后的几百年里,这些新教国家逐渐放弃儒略历,改用格里高利历,但在这一漫长的过程中,两种历法系统并存,不仅给当时的欧洲人造成了很大麻烦,也给今天的人研究欧洲历史造成了一定的困难。那是的欧洲人如果在不同的国家间旅游,不但要倒时差,还要倒“日差”、“月差”甚至“年差”。如果是住在国境线上,这边过完圣诞节,十几天后可以到那边再过一遍。在全欧天文学家合作进行的一些观测活动中,则发生过最后汇总到一起的资料由于搞不清楚每份资料上纪录的时间到底采用哪种历法而让统计工作陷入停顿的事情。对今天的历史学家来说,搞清楚每个欧洲国家改用格里高利历的年份也是个很重要的事情,否则就可能在一些问题上出错。很多历史事件的发生时间也都有两个版本。例如我们今天所知的大科学家牛顿的生日就有两个,1642年12月25日(儒略历),以及1643年1月4日(格里高利历)。如果只按照现今通行的格里高利历来描述牛顿的生日,就无法解释为什么有的书中记载他出生在圣诞节了。由于俄国直到20世纪初仍在使用儒略历,因此,著名的“十月革命”如果按照那时已经基本全世界通行的格里高利历算其实应该发生在11月。

当然,格里高利历也并非最为完善的历法。在置闰的问题上,早在格里高利历诞生前,就有人提出更为合理的“33年8闰”方案。有意思的是,英国的新教徒曾经出于宗教目的极力鼓吹这种历法,并曾经为了证明这种历法的优越性而去寻找一条新的本初子午线。这条本初子午线被设定在约西经77°处,也就是靠近北美大陆东岸的地方。为此,英国曾向北美派出了多支探险队,以至于有人认为,如果没有这种33年8闰的历法,也就不会有现在的美国了。

其实,在历法的精确度方面,格里高利历虽然不是最精确的,但却沿袭了儒略历的传统,且很有规律易于操作,因此能够沿用至今。而那些片面追求精确的历法却往往由于太过繁琐而失去了应用的可能。例如,我国农历虽然采用19年7闰的方案,但1500多年前的祖冲之就已经提出了更为精确的“391年144闰”方案,这一方案显然毫无应用可能。也曾经有很多人提出要修改格里高利历。但是,既然格里高利历已经够用,那还是一直用它吧。

图片来源:
Mathrubhumi Kerala India Calendar by Alaivani
Aztec Calendar Stone by Cornell University Library

0
为您推荐

36 Responses to ““心之全蚀”专题:日食之前谈历法”

  1. [...] 陈丹阳 《日食之前谈历法》 [...]

  2. F F+fly说道:

    这算不算沙发

  3. chys说道:

    现在的农历历法是1644年颁布的,已经不是严格的19年7闰了(只是大致符合),事实上比祖冲之的大明历更复杂得多,更难推算得多。
    清朝以来置闰用所谓“真太阳”的方法,完全依赖节气和月相,这两者又都是依赖天文计算的。新月必须落在第月的初一日;冬至必须落在冬月,不能满足时,两个冬至之间第一个无中气的月设为闰月。

  4. 火点说道:

    呵呵,清末的时候改革派还想用黄帝纪年,但是黄帝的生日一直没有搞定(当时有三种说法)。最后还是用的中华民国纪年。

  5. songzw说道:

    这个我不得不评论一下,从清朝开始,农历闰月就不是简单按多少年多少闰的方法设置了,而是要计算节气并按如下规则执行:

    1. 冬至在十一月(为了保证正月初一在立春附近,所以十一月也称冬月)
    2. 若一月中没有中气,则该月是上个月的闰月(二十四节气中其中十二个称为中气,另十二个称为节气,中气后面是节气,节气后面是中气,冬至是中气,冬天有闰月的可能性低)
    3. 若出现闰腊月或闰正月,则将闰月提前至十一月,变为闰冬月(保证只有一个春节)

    阳历现在的修订方式是有一秒误差时,在某一年的二月的最后一天加秒,记得好像八十年代或九十年代时曾经加过一次

  6. 黑色南极洲说道:

    为什么农历测不准日食呢?
    现在24节气在农业生产中还是挺管用的啊。

    • FFE说道:

      不是“农历”测不准日食,而是当时的“旧历”不准——汤若望的新历也是一种农历,不过加上准确的校正。
      实际上,所有的日食都在农历初一或三十,月食都在十五。就像这次日食,就是六月初一。这起码算是农历更有趣的一个论据吧。

      • zigzed说道:

        农历因为一直是有记载的,所以农历的计算还需要考虑岁差。而且在制定历法的时候(最晚在明朝)就已经有历法将岁差考虑进去。
        另外,由于地球运行轨道是椭圆形的,所以古人在计算农历时,还使用到二阶、三阶的插值方法。

        • zigzed说道:

          上面我写错了,是最晚在隋唐时的历法中就考虑到岁差了,而不是明朝。

  7. 奇角鹿饲养员拇姬说道:

    至今,儒学极右派还试图搞孔子历呢。。。
    要明正朔,夺政权啊!

    我觉得你应该提一下奶师江晓原的那个著名论断:
    古代中国的历法不是为了指导农时

    • mapletxr说道:

      能不能解释下这个“孔子历”

    • 陳丹陽说道:

      晕,我只是去他那考了2次博士没考上而已。。。
      我也不是天文专业出身,历法中一些比较专业的数学计算问题我就说不清楚了。文中不妥当之处还请专业人士之处。

  8. guiqiao说道:

    很不错的文章,读完了,受教了。

    但是有一个问题:为何作者要把格里高利十三世的“十三”给加粗?难道是对13这个数字避讳吗?

  9. 冰桃说道:

    这篇文章写得真好~ 原来农历是阴阳结合历啊 真强大~

    ps 农历和夏历是一回事不?

  10. 老孙说道:

    农历就是夏历,也就是中国传统历法:以月相定日期,一个月为30或29天,置闰月以使年份尽量接近太阳回归年。所以西方的闰年指2月为29天,夏历的闰年为十三个月。

  11. lik说道:

    而夏曆相對於地球繞太陽公轉來說,只有節氣按照公轉周期,而日期游移可達一個月,並不很適宜農業生産,因此農曆一名也不很恰當。而目前使用的曆法因使用夏正,稱夏曆比較妥當。

  12. eeyore说道:

    日食日期具体是怎么推算出来的呢?

  13. laplaceme说道:

    能不能讲现在这个格里高利历要多久以后会很大的偏差?

  14. 四月说道:

    农历真神奇呀…

  15. zje2009说道:

    历法,一直不是很了解。看了这篇文章,也还是不了解。希望有更多的历法介绍。

  16. 陳丹陽说道:

    我昨天注释了一下汤若望那段,没想到已经发出来了。
    汤若望推行的新历是历书,主要内容是一年中的星体方位之类的重大天文现象,仍然是以农历纪年为基础的。这个历书采用了第谷的宇宙体系进行测算,比中国传统历法精准一些。

  17. Emilia说道:

    好长知识阿!

  18. sunny0302说道:

    真有趣啊~~终于让我明白了为什么24节气总是在固定在阳历里而不是农历里了

  19. mapletxr说道:

    实际上我还是没看懂一开始的那个笑话。

    • mapletxr说道:

      我搞懂了。所指的不存在是指立法上的不存在。

  20. newgnaw说道:

    咱们牛牛的农历是谁在什么时候整出来的啊?
    还有,最后好像也没解释最开始那个问题嘛,
    是怕透露自己的生日吗:)

    • 陳丹陽说道:

      已经精确到10天之内了,难道一定要我明确说出是那一天么—.—!

  21. 瓜子黄杨说道:

    节气就是按照太阳的直射点来推算的,就是阳历。其实在古代我们也已经有了相当于公历的历法,就是节气。

  22. ihihii说道:

    实际上现在公历的九月到十二月(September、October、November、December)的直译基本上就是七月、八月、九月、十月。

  23. 海底阳光说道:

    而在周朝取代夏朝的过程中——这一句打错了,应该是周朝取代商朝吧?

  24. 南柯子说道:

    虽然写得很棒,不过有个小小的问题:既然是万历年间的日食,为什么崇祯皇帝会大为光火呢?

  25. 阿拉丙说道:

    我拉挖坟了。。

  26. 闲人闲逛说道:

    谢谢,很有收获。

  27. 一开始那个笑话好像不太明白。拓步ERP软件www.toberp.com

  28. 施超说道:

    你好,
    我在百度百科上看到“儒略历”里头说“儒略历”比回归年365.2422日长0.0078日,400年要多出3.12日。从公元325年定春分为3月21日提早到了3月11日。1500年后由于误差较大,被罗马教皇格里高利十三世于1582年进行改善与修订,变为格里历(Gregorian calendar),即沿用至今的世界通用的公历。
    但是你在文中写道“儒略历在欧洲实行了1600多年,到了16世纪,新年的日期实际上已经比儒略的时代推后了10天,各种物候天象和历法本身已经严重脱节,人们也早就认识到了儒略历的这个缺陷”。
    一个说法是提早,一个是退后,请问该如何解释呢?谢谢了。