中国古代天文历法至唐代走向成熟,其主要标志是历法进一步规范,历术进步,发现历法与实际天象出现较大误差后能及时编造新历,并出现了许多很有特色的历法。
李渊建唐之初,沿用隋《大业历》。武德二年(619)又颁用傅仁均的《戊寅元历》,开创了中国历史上第一个在民用历中采用定朔法的历法。该历关于日行盈缩、月行迟疾等计算方法,与大业历大致相同。但采用定朔法可能会出现连大月或连小月的特殊现象,如贞观十九年(645)出现了四个连大月,因而《戊寅元历》受到攻击,不得已又改用平朔,失去了其历法的特征。唐高宗麟德二年(665)起,颁用李淳风编造的《麟德历》。《麟德历》是一部著名的历法,有不少创新,在中国历法史上占有重要地位。该历再次采用定朔并独创了一种进朔法,即根据朔日小余数据的具体情况,将朔日上退一日或下推一日,使相应大月变成小月或小月变成大月,从而解决了出现连续四个大月或三个小月的违反日常习惯的问题。《麟德历》还采用“总法”1340作为各天文数据的统一分母,立法巧捷,为后世历家所遵用。《麟德历》的又一创举是正式废除沿袭已久的章蔀纪元之法,不用闰周而直接以无中气之月置闰。由于该历是以《皇极历》为基础而编制的,在推算五星运动时考虑到日月五星的不均匀运动,并吸取了《皇极历》的先进计算方法,且所得数据更为精确。《麟德历》的主要缺点是没有在历法中考虑岁差。这部历法虽然是比较好的历法,但毕竟存在误差。《麟德历》用到开元九年(721)已显疏漏,于是唐玄宗诏令一行编撰新历,于开元十五年编成《大衍历》。这年十月,一行随玄宗巡幸途中病逝。开元十七年(729),《大衍历》正式颁行全国。
《大衍历》分“历议”和“历术”两大部分,历议论述编历的原理,历术则又细分为步中朔术、发敛术、步日躔术、步月离术、步轨漏术、步交会术和步五星术等,这些是说明计算日月五星位置、运动、时刻和日月交食的方法。为了取得制历的数据,一行组织了大规模的天文测量,研制了新的天文仪器,测量了二十八宿距星及许多恒星的位置,对日月五星进行了大量的新的观测,从而使《大衍历》有了深厚的观测基础。通过观测,一行发现:“日南至,日行最急,急而渐损,至春分及中,而后迟。至北日至,其行最舒,而渐益之,以至秋分,又及中,而后益急”,也就是说冬至时日行最急,夏至时日行最缓。这是对太阳周年视运动比较正确的认识,改正了刘焯以春分前一日日行最急,后一日最舒:秋分前一日最舒,后一日最急的错误说法。《大衍历》的重要成就还有在计算太阳运动时创用定气法,发明不等间距二次差内插法的数学方法,用以计算太阳的位置等。与《皇极历》相比,《大衍历》在计算日食的时候,不但考虑了不同地理纬度对日食的影响,还考虑了季节的影响,月亮视差对日食的影响等,并提出判别日食亏起方位角的方法。《大衍历》也吸收了《麟德历》的数学技巧,以3040为通法,从而得到:1回归年=日;1朔望月=日;1周天=度的基本数据。《大衍历》完善的体系为以后各制历家所效仿。
公元762年,因《大衍历》未报代宗宝应元年六月望的月食,改颁郭献之编修的《五纪历》。建中四年(783),又以《正元历》替代了《五纪历》。821年起颁行徐昂编撰的《宣明历》。《宣明历》有一些新发现和新成就,如在日食计算中引出时差、气差和刻差三差,所用近点月与交点月的数值与今采用值相同,是一部较好的历法。唐代最后使用的一部历法是边冈编撰的《崇玄历》,昭宗景福二年(893)颁行。