1 月 29 日农历算法简介以及公式一、节气的计算 先给节气进行编号,从近日点开始的第一个节气编为 0,编号如下及其相应的月份如下: 0 小寒 腊月 6 清明 三月 12 小暑 六月 18 寒露 九月 1 大寒 腊月 7 谷雨 三月 13 大暑 六月 19 霜降 九月 2 立春 正月 8 立夏 四月 14 立秋 七月 20 立冬 十月 3 雨水 正月 9 小满 四月 15 处暑 七月 21 小雪 十月 4 惊蛰 二月 10 芒种 五月 16 白露 八月 22 大雪 冬月 5 春分 二月 11 夏至 五月 17 秋分 八月 23 冬至 冬月把当天和 1900 年 1 月 0 日(星期日)的差称为积日,那么第 y 年(1900 年算第 0 年)第 x 个节气的积日是 F = * y + + * x - * sin * x) 这个公式的误差在天左右。 二、朔日的计算 从 1900 年开始的第 m 个朔日的公式是 M = + * m + * sin(1 - * m) 这个公式的误差在天左右。 三、年份的确定 1864 年 1 月 0 日是农历癸亥年,所以用当年减去 1864,用 10 除得的余数作为年份天干的,用 12 除得的余数作为年份的地支,数字对应的天干和地支如下。 数字 0 1 2 3 4 5 6 7 8 9 10 11 天干 甲 乙 丙 丁 戊 己 庚 辛 壬 癸 地支 子 丑 寅 卯 辰 巳 午 未 申 酉 戌 亥当年的 1 月 0 日换算为积日,可以用年份减去 1900 得到的年数被 4 整除,所得商数作为 y(D4),余数作为 y(M4),y(M4)为零的年份是公历闰年,积日是 D(1) = 1461 * y(D4) - 1 y(M4)不为零的年份是公历平年,积日是 D(1) = 1461 * y(D4) + 365 * y(M4) 四、月份的确定 计算前一年冬至的积日 F(0),并用 F(0)计算冬至所在的朔月 m 及其朔日 M(0),就可以推算冬至的农历日期,冬至所在的农历月份总是十一月。计算下一个中气 F(1)和下一个朔日 M(1),假如 F(1)