返回 第五章 近现代农历的规则用其的天文学性质 近现代农历的规则： (1)太阳黄经为0、15、30、45、60、....、330、345度时，分别应对春分、清明、....、雨水、惊蛰24节气的发生时刻。具体编排日历时，春分指春分发生时刻所在的日期，其它节气也如此。中气指24节气中太阳阳黄经为0、30、60、90...330的那几个日子。 (2)日月合朔时刻所在的日期为新月份初一,而不是上月的最后一天。在《紫金历》中，日期使用北京时间（在古代，并不一定使用北京时间）。值得注意的是，在《紫金历》中，日月合朔那一天正好是节气或中气,那么该气属本月的初一,不是上月的最后一天。 (3)农历年首始于冬至所在的朔望月(即具有明确天文学意义的年首)，这就是说农历一年只能包含一个冬至。 (4)如果一年内含有13个朔望月,则该年是农历闰年。而农历中的月名称只有12个，怎么办？只好拿掉一个月，并称之为“闰某月”，这个“某”字与上个月同名。要拿掉哪个月呢？《紫金历》中要拿掉本年第一个不含中气的月。 (5)节日上用的农历新年始于正月(建寅)，即皇家公布的民用年首。从冬至所在月开始月计数(闰月不算)，第3个月为年首。详见“第一章 关于寿星万年历” 公历与近现代农历的比较： 公历是“人历”。在公历中，“日”的定义具有严格的天文学意义，而“年”和“月”的具体长度则是人为规则定的。公历的平均年长度取值365.2425天，真实平均回归年长度为365.2422天，二者非常接近。从某种意义上说，公历是一种特殊的日期记数器，而不是严格的太阳历。随着时间的推移，公历与太阳位置的对应关系将发生越来越大的偏差，到时人们将跟据情况改历。 中国农历本质上是“天历”。根据现代农历的规则，农历的太阳年长度是根据太阳运动实时调整的，无需人为定期调整。所以农历的推算需要日月星历表。 几个农历中特殊现象的说明： (1)太阳经过近地点时(冬天)，太阳黄经运动速增加3%，那么在一个月中，月亮要“赶上”太阳所要花费的时间会增加，这时候平均朔望月会长一些，通常会大于29.5天，包含中气的可能性会增加，一般不会置闰。反之，太阳经过远地点时(夏天)，太阳黄经运动速减加3%(与近地点相差6%)，则被置为闰月的可能性增加。太阳黄经速度的大致表达：v = 6.28332 +0.21 *sin(1.527+6.28307585*t)，单位是弧度/年， 式中t是相对于2000年首的儒略年数(365.25000天/儒略年) (2)当日月合朔时刻或者节气交接时刻发生在北京时0点附近10秒钟以内，这时候对日月合朔(或节气)的发生日期的判断将发生困难，因为这时要求历算的精度很高。现代算法推算未来1年的农历完全可以精确到3秒以内，所以我们不必太担心这个问题。在过去，历算精度不很高，遇至这种情况就很难判断日月合朔发生的准确日期，造成过去计算的“初一”与现在计算的“初一”相差一天是完全正常的。对于今人，则应尊重过去历算的结果，不能随意更改历日。再者，当时使用的时间系统与现在也不完全相同。比如，现代人使用的是UTC时间，中国使用北京时间(东8区)，而以前可能使用天文台的平太阳时或其它时间系统，与今人不完全相同，因此可能造成日期计算的结果不完全相同，我们不能因此说过去历算有误。比如，我曾看过一篇文章，20世纪初，我国曾使用东经116度的平太阳时。同样，中气发生日期的判断也存在这个问题。由于历算精度不断提高，这个问题基本上得到解决了。 (3)“一个月包含两个中气”并不违反以上5条农历规则。 (4)“在只有12个月的年份中，遇到无中气的月份，不对这个月置闰”，这也不违反以上5条农历规则。 (5)中气与合朔日发生在同一天，是用“发生时刻的先后顺序确定某月是否包中气”还是用“日期来确定包含关系”。从原理上说，这两种方法都是可行的，不过，传统上为了降低历算的精度要求，采用后者来判断一个月中是否包含中气，紫金历也是如此。 (6)冬至所在的农历月被规则定年首，必然包含“冬至”这个中气，所以不可能是闰月。 干支纪法： “干支”的字面意义就是树干和枝叶。我国古代以天为主，以地为从，天和干相加叫天干，地和支相连叫地支，合起来叫天干地支，简称干支。 天干有十个(天干表,0——9)： 甲乙丙丁戊己庚辛壬癸 地支有12个(地支表,0——11)：子丑寅卯辰巳午未申酉戌亥 通常干支是搭配成一对使用的，即:0甲子、1乙丑...9癸酉、10甲戌、11乙亥、12丙子...59癸亥，共60个。我国古代用这60个干支来表示年、月、日、时的序列号，周而复始，不断循环，这就是干去纪法。在任一时刻，年、月、日、时的干去合起来有八个字，谷称“八字”。 干支纪法的每60次一个循环，循环周期很小，因此用干支纪年表达几千年的历史，问题多多，是一种落后的纪法。不过在命理学及古代历史研究中会大量遇到干支问题，所以有必要在此讲述一些干支的具体计算问题。 干支纪年： 已知1984年为甲子年，求2000年的干支纪年。解：从1984年起算，到了2000经过了16年，那么天干 = 16%10 = 6，即天干表中的序号为6的“庚”，地支 = 16%12 = 4，即地支表中序号为4的“辰”。这样，干支纪年为“庚辰年” 以上计算是不严格的，因为我们在计算年数差的时候使用了“公历”的纪年，一个是“天历”，一个是“人历”，二者的纪年关系不是严格一一对应的(最近几百年对应的很好)。实际计算时最好使用儒略日数来计算，每年的天数用365.2422天，如此反算出年数差就可靠得多。 算命学通常以立春为界定纪年，即立春以前为前一年，立春开始为新年。中国中央电视台以春节为界定纪年，即大年初一开始为新年。 干支纪月： 干支纪月的分界点是12节气(除中气外的24节气，如立春、立秋等)，这样一年共有12个月，所以这里的月是阳历性质的，与月历无关。已知1998年12月7(大雪)甲子月，其余按顺序类推。实际计算时，我们可以先算出当前月分相对于1998年12月大雪和积累月数N，那么天干 = N%10，地支 = N%12。