在古代的时候,祖辈们就根据月相变化(月相就是由于日、地、月相对位置的变化,人们看到的不同形状的月亮形成各种了月相。在地球上看月亮,有时像镰刀,是蛾眉月;有时是半月,叫弦月;有时如一轮明镜,金光四射,叫满月;有时全部黑暗,这叫新月。由于月球围绕地球向东运行而变化,于是就形成了新月-上弦月-满月-下弦月-新月月相的周期性的交替,月相的周期大约为29·53日)的周期,编订了历法。中国是世界上天文学发达是最的国家之一。由于生产和生活的需要,人们从远古时期就已经对天文现象进行观察,经过世代连续不断的努力,积累了越来越多的天文学知识,并逐渐形成了内容丰富且具有独特风格的天文学体系。中国古代天文学在许多领域曾长期在世界上处于领先的地位,在中华民族文化史上,历法是中国古代天文学的核心。中国古代历法不单纯是关于历日制度的安排,它还包括对太阳、月亮和土、木、火、金、水五大行星的运动及位置的计算;恒星位置的测算;每日午中日影长度和昼夜时间长短的推算;日月交食的预报等等广泛的课题。从某种意义上讲,中国古代历法的编算相当于近现代编算天文年历的工作。为此,我国古代天文学家展开了一系列的观测与研究活动:譬如对历法诸课题的共同起算点——历元的选定,对一个又一个天文学概念的阐述,对种种天文常数的测算、各种天文数表的编制,对具体推算方法、天体测量方法和数学方法的抉择和改进等等。
为适应农牧业发展的需要,我国历史上曾制订过100多种历首创历法。在殷墟出土的甲骨文里就有关于古代历法的记载,表明我国早在3000多年前就已经制定了自己的历法。从商代(公元前14世纪~前12世纪)的甲骨文和出土的其他文物中可以证实,早在商代我国古代先民就已经知道利用大、小月和根据自然现象的周期变化,把12个月算作1年,将闰月设在年终,称为“十三月”。在祖庚、祖甲时代的甲骨上曾记载1年中有两个六月,证明当时已经知道在年中设置闰月来平衡大、小月。《尚书·尧典》记载“期三百有六旬有六日,以闰月定四时成岁”,说明当时已经知道1年有366日,并且还设置了闰月。
春秋战国时期,是我国古代从奴隶制向封建制过渡的社会大变革的时代,促使包括科学技术在内的古代文化得到长足的进步。中国最早的成文历法就出现于此。这一时期出现了一批着名的天文学家,鲁有梓慎,晋有卜偃,郑有裨灶,宋有子韦,齐有甘德,楚有唐昧,赵有尹皋,魏有石申夫(亦名石申)等等,他们都促进了天文历法的发展。
汉朝初期的历法基本上是沿用秦以来的颛顼历。
汉武帝时,公孙卿、壶遂、司马迁等受命编制汉历,最后选定邓平编制的太初历,于太初元年(公元前104年)开始实行。太初历以365日为回归年长度,29日为朔望月长度,规定以正月为岁首,并首次引入了中国独创的二十四节气,首次计算了日月交食的发生周期。历中所采用的行星汇合周期的数值也较为准确。太初历是自有科学历法以来,第一部资料完整的传世历法。
《三统历》是西汉绥和二年(公元前7年)开始实施的历法。
西汉末刘歆把董仲舒唯心主义的“三统说”(即历史循环论,认为天之道周而复始,黑、白、赤三绕循环往复)塞进太初历,稍事扩充,改名三统历。由于它穿凿附会于乐律、易数、五行等,并以神秘地解释历法中一些数据的来源,在理论上违背了科学和实践,对后世历法的改革带来不良影响。
《三统历》,不仅系统阐述了邓平的八十一分法,而且扩充了很多原来简略的天文知识和上古以来天文文献的考证,为《汉书·律历志》历法部分的蓝本。其具体内容有造历的理论,节气、朔望、月食及五星等的常数和运算推步方法及基本恒星的距离等。包含了现代天文年历的基本内容,因而被认为是世界上最早的天文年历的雏形。《汉书·律历志上》:“刘向总六历,列是非,作《五纪论》。向子歆究其微渺,作三统历及谱以说《春秋》,推法密要,故述焉。”《后汉书·律历志中》:“自太初元年,始用三统历”王先谦集解引清钱大昕:“三统与太初异名而同实。刘子歆用太初法推衍之以说《尚书》、《春秋》,又追日月五星同起牵牛之始,以为太极、上元,初非别立一术,则三统之名不自歆始也。”
《三统历》施行100多年后,“历稍后天”。东汉章帝元和二年(公元85年),《三统历》“失天益远”,于是,章帝下诏改行《四分历》。《四分历》是由当时任左中郎将的贾逵会同其他治历者集体修订的。
贾逵(公元30-101)是东汉时期着名的天文学家和经学家,他是刘歆的弟子贾徽之子,通晓经史,并精通天文学,颇有造诣。
根据《续汉书·律历志中》中的“贾逵论历”,贾逵主张历法计算中应按黄道坐标测算日、月运行的轨道,认为以赤道坐标测算会出现误差,当时史官“推合朔、弦、望、月食加时率多不中,在于不知月行迟疾意”·明确提出月行速度有迟疾,月球的运动为不等速;认为月行迟疾“乃由月所行道有远近出入所生,率一月移故所疾处三度,九岁九道一复”。四分历中所测定的黄道与赤道的夹角具有极高的精度,并增加了二十四节气昏旦中星、昼夜刻漏和晷影长度等新内容,比太初历有显着进步,为后世历法所依循。
公元412年,北凉赵厞创作《元始历》,打破了以前的立法中19年7闰的限制,规定在600年中间插入221个闰月。可惜赵靡的改革没有引起当时人的注意,例如着名历算家何承天在公元443年制作《元嘉历》时,还是采用19年7闰的古法。《大明历》亦称“甲子元历”,由南北朝时期杰出的天文学家、数学家祖冲之创制,是一部较为先进的历法。《大明历》成历于刘宋大明六年(462),当时祖冲之33岁。《大明历》规定一回归年为365·2428日,是我国赵宋统天历(1199)以前最理想的一个数据。在制历时首先考虑岁差。所谓“岁差”就是由于地球在运行过程中受到其他天体的吸引作用,地球自转的方向发生缓慢而微小的变化。因此从这一年的冬至到下一年的冬至,地球上看,太阳并没有回到原来的位置,而是岁岁后移,这也就引起了24节气位置的变动。祖冲之确定每45年11月差1°,这个“岁差值”虽很不精确,但引进“岁差”编制历法,是历法有了更科学的基础,而且在天文学中“回归年”和“恒星年”2个概念被区分开来。
这是在我国首次求出历法中通常称为“交点月”的日数为27·21223日,与近代测得的数据(27·321222)极其相近。所谓“交点月”就是月亮在天体上运行的路线有2个交点(也叫黄白交点),月亮2次经过同一交点的时间叫交月点。在当时天文学的技术条件下,祖冲之能得到这样精密的数字,令人惊叹。
《大明历》采用了391年中设置144个闰月的新闰法,比古历的19年7闰更为精确;《大明历》还首次引入了“岁差”的概念,是我国历法史上的一次重大改革。
农历是我国采用的一种传统历法,又称夏历或中历。有人把它叫作“阴历”,但这很容易造成误解。事实上,我国的农历既不是纯粹的阴历,也不是纯粹的阳历,而是一种阴阳历。它使用阴历的历月,这可以保证每个历月中的第十五天或第十六天都遇上满月。同时,它又采用阳历的平均年长,使历年的平均长度尽可能接近于回归年的长度。为此,在农历中平均每隔2年多的时间,就要在一年中额外增加1个月,称为“闰月”,例如闰五月、闰七月,等等。凡是有闰月的年份就是“闰年”,一年之中有13个月;没有闰月的年份则是“平年”,仍为12个月。
中国在辛亥革命后,于1912年开始采用公历,但用中华民国纪年。1949年中华人民共和国成立后,正式采用公历纪年。