每年的农历是怎么算出来的？
 先回答下面的小问题： 问：为什么冬至、夏至、春分、秋分还能和公历对上？ 答：因为二十四节气是中国传统阳历，不是阴历。公历也是阳历，所以正好对上了。 问：为什么其他日子每年都不一样？ 答：因为月份和日期是阴历。 问：国家有专门的部门来计算农历么？ 答：有的。中国科学院 紫金山天文台 行星科学和深空探测研究部 历算和天文参考系研究团组。   下面回答主问题： 农历是怎么计算出来的？ 首先，要强调的是：农历不是阴历，而是阴阳合历。 其次，需要注意的是：农历不是数学历法（纯数学计算的历法），而是天文历法（需要使用天文观测数据才能计算）。 第一步，定气。 二十四节气，是彻底的阳历，代表了地球上的太阳直射点。直射点在北回归线的时候，叫做「夏至」，直射点在南回归线的时候，叫做「冬至」。 这个工作需要紫金山天文台用先进的现代天文观测仪器来测量出天文数据，然后再用万有引力定律等公式来计算出二十四节气的时刻。常人无法推算。  注：二十四节气中的的第奇数个节气，叫做「节」；第偶数个节气，叫做「中气」。 第二步，定朔。 介绍一个概念：朔月。 粗略的定义：正好看不到月亮的时候，叫做朔月。 精确的定义[1]： 紫金山天文台负责测算朔月的时刻，这个工作就是定朔。这种测算也是用现代天文仪器测量的。 出现朔月的那一天（以北京时间为准），则规定名叫「朔日」。 第三步，划分月份的起止时间。 规定朔日是一个月的第一天，也就是农历「初一」，接下来就是初二、初三等等。下一个朔日，就是下一个月的初一。这样子，月份就划分好了。 第四步，冬至建子。 首先找到包含冬至的月份，规定为「子月」。 第五步，无中置闰，闰前不闰后。 如果某一个子月（包括）到下一个子月（不包括）之间有13个农历月（这个前提非常重要，见2033年问题），那么就从找到没有中气的月份，规定为闰月。如果不止一个没有中气的月份，则取子月之后第一个没有中气的月份，规定为闰月。 第六步，月建。 不计闰月，十二个月就分别叫做：子月、丑月、寅月、卯月、辰月、巳月、午月、未月、申月、酉月、戌月、亥月。 第七步，正月建寅。 规定寅月为正月，接下来就是卯月是二月，辰月是三月，巳月是四月，午月是五月，未月是六月，申月是七月，酉月是八月，戌月是九月，亥月是十月，子月是十一月（冬月），丑月是十二月（腊月）。 第八步，闰月定名。 根据数字月份名，如果闰月在某月份之后，就名叫闰某月。  把上面的步骤总结一下，就是下面这五条规则[1]：  这种定义是高度简化了，完全不引入「月建」的概念。比如第3条就不引入「子月」的概念，而是一直称之为「农历十一月」，第5条就不引入「正月建寅」的概念，而是说农历十一月之后两个月（不计闰月）规定成「正月」。 