关于农历

小时候,奶奶经常问我 “今天阴历几号”,我便要去查,渐渐对阿拉伯数字下方那几个似懂非懂的汉字有了一点兴趣。

大学时,因为修改一份万年历代码,又不得不去查了一些细节。今天把它们整理出来,权当是纪念登月四十周年,也当是对日全食的怨念了。还有,今年是现行农历历法制订 365 周年 – -

古人在很多自然科学方面落后,但不管东西方,天文学都让人叹为观止。然而,让人泄气的是:被视为中华传统文化的东西——现行农历历法是在西方人主持下制定的

顺治元(1644)年,天主教传教士 Johann Adam Schall von Bell(中文名汤若望因精确预报当年八月初一的日食,受命主持历法修订。他将明末尚未来得及颁行的新历(他与徐光启共同制订)进一步修订后,命名为《西洋历法新书》上呈清廷,摄政王多尔衮下令采纳,命名为时宪历,顺治二(1645)年实行。这是中国农历的最后一次大修改。

时宪历 (via)

  1. 农历虽通称 “阴历”,但在历法归类上,属于阴阳历不是阴历,即兼顾朔望周期(月球公转)和回归周期(地球公转)。
     
  2. 农历指导农业的说法不合理,指导农业的是节气,属于这种阴阳历中的阳历部分,没有了农历,用公历也一样。
     
  3. 节气由地球与太阳的相对位置决定,每转过 15° 为一个节气。偶数号节气(雨水、春分、谷雨等)为中气,置闰时用到此概念。
     
  4. 寅月为每年第一个月(正月);寅时(三点整开始)为每日每一个时辰。
     
  5. 月的定义:新月(月球经过日地连线的时刻)所在日起,至下一次新月所在日的前一日止,为一月。月球朔望周期约 29.5 天,因此每月 29 或 30 天。
     
  6. 月份编号为一月至十二月,一月为正月,十一月为冬月,十二月为腊月。

    但是,这样算来,每年 12 月的总天数明显少于回归年(365.24 天),为使两者相符,规定冬至必须落在冬月,如果不符合此要求,则将上一个冬至与这个冬至之间第一个无中气的月(一定存在)改为前面一个月的闰月。

  7. “19 年 7 闰” 是大明历颁行前的置闰规则,精度不够,两百年就差一天,只比儒略历稍好;后来天文学进步以后就完全由天文计算置闰,多数情况下,仍然大致符合 19 年 7 闰。
     
  8. 冬至必落在公历 12 月 21 至 23 日之间,又必须落在农历冬月,如果不考虑闰冬月与闰腊月的罕见情形,腊月初一必落在 12 月 22 日至 1 月 22 日之间,故正月初一必落在 1 月 20 日至 2 月 21 日(含)之间

农历的规则太复杂了。计算机里处理农历时,一般的方法是将上百年的数据用一个大数组保存起来,不过节气可以直接计算。

正是规则复杂,普通人无法推算。要不然修改历法怎么也能成为统治权的象征之一呢?

参考文献
清初《西洋新法历书》与《时宪历》的颁行
维基百科:节气
维基百科:农历
Wikipedia: Gregorian calendar

标签:

有 2 条评论

我来说两句

提示:在 Gravatar 注册后,评论右侧将显示您的头像。