尹湾汉墓历谱
历法的主要功能之一是安排历日。世界上不同文明创造了多种多样的历法,其中有的是纯阴历,根据朔望月安排历日;有的是纯阳历,根据太阳的回归年;还有其他形式的历法。中国古代历法为阴阳合历,即把朔望月和基于太阳年而划分的节气结合起来考虑历日安排。
这种阴阳合历的历法体系至殷商时期就已初见,至汉代历法已有定型的文本并流传至今。
由于一个太阳年的长度约为365.2422日,一个朔望月的长度约为29.5306日,两者之间没有整数倍的关系,12个朔望月的长度约为354天,较太阳年长少11至12天,因而,每隔几个包含12个朔望月的年份就要安排一个包含13个朔望月的年份,多出来的这个月成为闰月。春秋时期,闰月的安排还不规则,一般安排在年末;汉代历法开始采用无中置闰法,即以没有中气(古代太阳历与阴历搭配产生二十四节气,基本每月两气,月初的为节气,月中以后的叫中气)的那个月份为闰月,每积累32至33个朔望月将出现一次无中气月,此月为闰月,这样月份与中气相对固定。
由于地球绕太阳公转的轨道不是正圆形,实际上相邻两个节气之间的时间间隔并非完全相同。以平均长度计算的节气称为平气,而以太阳的真正黄经位置计算的节气称为定气。与此类似,朔也存在着平朔和定朔的区别。唐初改平朔为定朔,根据日月同经的时刻确定朔望月的初日,节气依然为平气。使用定朔平气注历对传统无中气置闰规则影响不大。清代采用西洋历法,官修历书改平气为定气、定朔。采用定气注历后,在太阳视运动较快的季节相邻两个中气的时间间隔就会短于一个朔望月的长度,由此可能出现一个朔望月中包含两个中气的情况,这样在其前或其后的月份虽无中气却不是闰月。故此,清代官修岁次历书中有多次无中气不置闰的安排。现代的农历就是沿袭清代定朔定气计算历日。