明代行用的历法《大统历》,实质上是元代《授时历》的沿袭,行用已久,已经有很大的误差。虽然不时有人提出改历的建议,但一直未能实行。崇祯二年五月乙酉朔(公元1629年6月21日)日食,钦天监依据《大统历》所作的预报又发生明显的差错,而徐光启依据西方天文学方法进行的推算则相当准确,于是明朝廷决定由徐光启负责改历。
徐光启设立的历局,由李之藻、李天经等协助,聘请了耶稣会士龙华民(N.Longobardi)、庞迪峨(D.Pantoja)、熊三拨(S.de Ursis)、阳玛诺(E.Diaz)、艾儒略(J.Aleni)、邓玉函(J.Terrenze)、汤若望(J.A.S.von Bell)等参加编译工作。整个工作自崇祯二年起,至崇祯七年(公元1634年)完成,其成果集中于《崇祯历书》和为改革历法所写的各种奏疏中。徐光启负责《崇祯历书》的总编工作,他1633年去世后,由李天经负责。
《崇祯历书》包括46种,137卷。全书计分节次六目和基本五目,前者将历法分成日躔〔chan缠〕、恒星、月离、日月交会、五纬星和五星凌犯等六个部分;后者分法原(天文学理论)、法数(天文用表)、法算(天文学计算中必备的数学知识,主要是三角学和几何学)、法器(测量仪器和计算工具)和会通(中西各种度量单位的换算表)等五个方面。其中“法原”有40余卷,为全书之核心,不但论述了历法本身的问题,而且着重阐述了天文学理论和计算方法。
这是一部比较全面系统介绍欧洲天文学知识的著作。书中大量引用了哥白尼《天体运行论》中的材料,基本上译出了其中的八章,并译用了哥白尼发表的27项观测记录的17项。书中介绍有伽利略关于太阳黑子在日面上运动的现象。书中引用有刻卜勒《论火星的运动》一书中的几段材料。这些都是当时欧洲天文学的最新成果。同时,书中明确地引入了地球的概念,介绍了经纬度及其测定和计算方法。在推算日、月、五星的视位置等问题时,介绍了周日视差和蒙气差的数值修正方法。在计算方法方面,介绍了球面和平面三角学。在座标系方面,介绍了黄道座标系。
但是,由于宗教的立场,书中采用的是丹麦天文学家第谷的宇宙体系,认为地球是宇宙的中心,日、月和恒星绕地球旋转,五大行星绕太阳运行,而没有介绍哥白尼的日心学说。在解释日、月、五星的视运动时,采用的是本轮、均轮等一套小轮系统,而没有介绍德国天文学家刻卜勒的行星运动三大定律。关于哥白尼的日心学说和刻卜勒的运动定律,直至1760年法国耶稣会士蒋友仁(P.Michael Benoist)向乾隆皇帝进献世界地图《坤舆全图》时,方在说明文字中加以介绍,而传入中国。
《崇祯历书》编成后,因反对派的阻挠和明末的战乱,终明之世未能正式颁行。1644年清军进入北京后,汤若望对《崇祯历书》进行删改,压缩成103卷,更名《西洋新法历书》,进呈清朝廷。清朝廷予以采用,并把据此编制而成的历法命名为《时宪历》,予以颁行。汤若望亦被任命为钦天监监正,成为在中国主持天文历法的第一个外国人。