中国的历法与纪年采用阴阳干支三合历;上古时期,根据不同的农业牧业生产情况需要,分别产生过太阳历法和太阴历法。农历作为中国传统历法,最早源自何时无从考究,据出土的甲骨文和古代中国典籍多有记载,现时阴阳合一的历法规则一般认为源自殷商时期。从黄帝历法到清朝末期启用西历(公历)始,中国历史上一共产生过102部历法,这些历法中有的曾经对中国文化与文明产生过重大影响,比如夏历、商历、周历、西汉太初历、隋唐大衍历和皇极历等,有的历法虽然没有正式使用过,但对养生、医学、思想学术、天文、数学等起到过重大作用,如西汉末期的三统历和唐朝的皇极历法等。汉朝以前的古代中国历法以366天为一岁,用“闰月”确定四时和确定岁的终始;已经有日、月、旬和时的时间单位,具备了阴阳历的技术;观察到了五大行星和日月的运动规律,用“闰月”,“减差法”来调整时差;历法实施成为重要大事,主要内容之一是“以闰月定四时成岁”和“正闰余”,即确定闰月位置和如何减去多余出来的天数(不是加上缺少的天数),由此来确定年岁的终结和开始。到了春秋战国时期,由于周朝王室衰落,诸侯各行其是,因此出现多轨制历法,亦即各诸侯和各地部落还有自己的地方历法;秦朝为中国历史上最后一个"以闰月定四时成岁"的历法。
汉朝初期开始中国历法出现了大转折,全国统一历法,历法也成为了一门较为独立的科学技术。汉武帝责成司马迁等人编写了《太初历》,之后刘歆作《三统历》,这两历的重要特点是年岁合一,一年的整数天数是365天,不再之前历法的366天。以“加差法”替代之前的“减差法”以调整时差,年岁周期起始相当固定,用数学计算就能确定闰月,用不着“考定星历,建立五行”,至此,阴阳五行基本上退出了历法。之后中国历朝颁布的历法,均与太初历大同小异;中华民国成立后,纪年采用西历或民国纪年并用。
由于月亮圆缺比较直观,加上中国文化喜欢月圆,中国自古更喜欢阴历,而不是西方那种阳历。月亮看起来简单,实际却复杂无规律性,需要天文观测。中国的历法不停地陷入偏差的麻烦老路。了解中国历法的历史就能能知道,中国的历法每几百年就因为偏差就要大调整,历法的名称已改变几百次。现在成熟的农历其实是明末清初的时宪历,已非常好的历法了。
但到了民国初期,受西方文化影响很大的孙中山先生直接把西方的公历作为官历,是巨大的进步,与世界接轨。传统历法作为辅助历法,只在农村仍习惯性的使用,但越来越边缘化。最终只剩指示传统节日的作用。
农历历法的差异,无非是大小月、闰月的安排不同而已。民间黄历与现在官方农历也有差异,韩国、越南农历也有一点差异。农历的不唯一性是另一缺陷之一,所以,我国以紫金山天文台发布的农历作为国家标准,称为紫金历。
中国的百科全书历法那本书有详细的中国农历历史。