公历转农历是无法用公式做出来的! 请看: 公历,也就是太阳历,其本质就是对太阳在黄道上的视位置进行划分
农历,也就是月亮历,其本质就是对月球在白道上的视位置进行划分
因此公历->农历的转换就是
已知太阳黄经刻度求月亮白经刻度的计算
在换算成更通俗一点的解释就是
已知地球轨道位置,求此时月球的视位置
粗略的计算方法需要的参数就是地球、月球的基本轨道参数(半长径、半短径、向径、偏心率、周期等)、质量,另外还包括轨道焦点的进动和地球的章动这两个偏移量
具体的计算公式就比较复杂了,其中包含大量的三角函数方程和迭代计算法
以上是一个基本的计算方法,用于日历换算足够了
当然精确一点的方法则要考虑到大行星的摄动,也就是他们的引力对地球和月球的轨道的影响,最主要的是离我们最近的火星和金星,以及质量最大的木星,这种计算精度适用于阿波罗登月之类的活动
最吹毛求疵的计算方法是把以上传统力学计算公式换成相对论公式,这样算出来的是最精确的,适用于吃饱了撑得和相对论狂热粉丝
阴历和阳历的转换是不能通过公式推导的。 考虑了一下,阴历和阳历之间应该是没有什么必然的关系的。
阳历和阴历是两种不同的历法,应该没有办法从一种推出另一种的,所以也就没有公式或算法能把阳历换算成阴历,反之亦然。
要想实现换算的话,只能通过对照表实现。 中国阴历的计算有下列四条规则:
所有新月和节气出现的时刻的计算以东经120度即东八区标准时为准。但计算1929年以前的阴历时应以北京即东经116度25分的当地时为准。此条规则用以区分中国阴历和其他类似阴历如日本阴历。
新月出现的一天为一个月的第一天。如某个节气的出现时刻也在这一天,则不论该节气的出现时刻是否比新月晚,一律算落入新的一个月中。
每年的冬至总是出现在这年的阴历十一月中。
从一年的冬至后一天起到下一年冬至这一天止的这段时间中,下称其间,如有十三个新月出现,则其间要加入一个闰月。需要加入闰月时,其间第一个没有中气的月为闰月。因为其间只有十二个中气,所以其间至少有一个月没有中气,也存在有两个月没有中气的可能性。但这种情况下只有第一个没有中气的月为闰月。闰月的前一个月为几月则该闰月称为闰几月。
以上所列的阴历的计算规则是在清朝顺治年间,即公元1645年,开始采用的。以上规则的一个重要特点就是理论上完全以天文观测为依据,其中没有任何数学关系。这和阳历,即格里历,完全是由数学关系确定的形成了鲜明的对比。当然,具体到未来阴历的计算,仍然需要月亮与地球运动的数学模型,而且精度高的这种数学模型相当复杂,在没有电脑的情况下,一般人根本不可能推算出精确的阴历来。而阳历的数学关系则非常简单,是不是闰年很容易计算。这又形成了另外一种鲜明的对比。 |