农历是阴阳历的一种。相传起于夏代,所以又称夏历,也叫旧历。
月亮圆缺的周期,即月相变化的周期,是一个朔望月。农历以朔望月定为一个月;同时又用设置闰月的办法,使历年的平均长度接近于回归年。也就是说,要同时考虑到朔望月和回归年这两个周期,并把这两个周期协调起来。农历把月亮全暗时的日期定为月首,即初一(也称朔日)。由于朔望月的周期平均等于26.5306日,所以有月份是30天,称为大月;有月份是29天,称为小月。农历一年包含有12个月,共有354天或355天,与回归年(365.2422天)相比,两者相差大约11天。为了使平均历年接近回归年,大约每隔三年就要设置一个闰月,这一年就称为闰年。闰年有13个月,平均历年仍比回归年少几天。我国古代天文学家早在公元前六世纪就开创了“十九年七闰法”,即在19个历年中加入7个闰月,就同19个回归年的长度基本相等。19年中,共有12×19+7=235个朔望月,总日数为29.5306×235=69.39.6910天;19个回归年总日数为365.2422×19=6939.6018天,两者仅相差0.0892天。可见农历的精度是比较高的。
在农历中,还把一回归年分成二十四节气,它们是:立春、雨水、惊蛰、春分、清明、谷雨、立夏、小满、芒种、夏至、小暑、大暑、立秋、处暑、白露、秋分、寒露、霜降、立冬、小雪、大雪、冬至、小寒、大寒。节气是根据太阳的周年视运动而决定的。由于地球围绕太阳公转,我们看起来太阳在星空中每回归年自西向东运行一周。太阳在星空中移动的路线叫做黄道。太阳在黄道上每运行15°为一节气。节气在古代称为“气”,每个月中含有两个气,前一个叫做“节气”,后一个叫做“中气”。根据这个规定,一年中的节气为:立春、惊蛰、清明、立夏、芒种、小暑、立秋、白露、寒露、立冬、大雪、小寒;一年中的中气为:雨水、春分、谷雨、小满、夏至、大暑、处暑、秋分、霜降、小雪、冬至、大寒。两个节气或两个中气之间的平均长度为365.2422÷12=30.4368天,而一个朔望月是29.5306天,两者相差近一日。因此,中气在农历月份中的日期约逐月推迟一天。这样推移下去,必然有的月份的中气正好落在该月的最后一天,在下个月就不含有中气,不含中气的月份就定为闰月;并且以上个月的月份名称定为闰某月。例如1979年的农历六月三十日为大暑,下一个月就不含中气,于是就定为闰月,即闰六月。闰年与闰月的安置,都必须经过严格的推算,才能具体而准确地确定。二十四节气是我国古代劳动人民智慧的结晶,从春秋至秦汉之际逐步创立起来,沿用至今已两千多年。它与农业生产实践密切相关,因此,二十四节气一直在我国农村广泛应用。