农历算法步骤如下:计算采用北京时间为标准,朔所在的农历日为农历月首。
我国的农历强调逐年逐月推算,通过逐月推算后才知道某年某月是大月还是小月;通过逐年推算后,才知道某年是闰年还是平年。农历是基本上以12个月作为一年的,但12个朔望月的时间是354.3667日,和回归年比起来要相差11天左右,这样每隔3年就要多出33天,即多出一个多月,为了要把多余的日数消除,每隔3年就要加一个月,这就是农历的闰月。以月相定日序。即以日月合朔的日期和时刻来定每月的初一。例如,如果今天6时5分是日月合朔的时刻,则今天是初一。如果第二个日月合朔落在第30天,那么该月是小月(29天);如果落在第31天,那么该月是大月(30天)。以中气定月序。我国的旧历把全年分二十四个节气,其中单数的叫节气,双数的叫中气。以雨水所在的月为正月;以春分所在的月为定为二月;以此类推。