祖衝之將他在天文曆法上的觀測數據和其他資料做了認真的整理,自己摸索出一些規律。他發現傳統的《元嘉曆》中有很多錯誤,於是根據自己的觀察做了修改,編成了一本新曆法——《大明曆》,並向朝廷上奏,希望在全國推行。當朝皇帝是宋孝武帝劉駿,他自己不懂曆法,於是組織了一些懂得曆法的大臣在金殿上進行“廷議”,號令祖衝之參加,讓他與大臣們就兩種曆法的優劣進行辯論。

公元462年的一天,一場關於曆法的大辯論展開了。雙方的代表人物是祖衝之和戴法興。戴法興首先提出:“日有恒度,宿無改位,這是萬世不變的,你並無變法之理。”

祖衝之馬上反駁道:“舊曆法十九年七閏,每二百年就會相差一天,如果改用大明曆,每三百九十一年設一百四十四個閏月,就能與天數符合了。”他又接著說道:“舊曆法的夏至和冬至都比天象早,五星(金、木、水、火、土)的出現和隱伏也比實際天象差40多天。曆法不符合天象,當然要改革。”

“日月星辰的長落,自有其天數,非凡夫所能測定。”戴法興不甘心自己的失敗。

“日月星辰皆有形可檢驗,有數據可以推算,並非出於神性,怎麼能說凡夫不能測定呢?在下十多年的觀測發現每年夏至與冬至的圭尺都沒有誤差。”他又轉身向宋孝武帝道:“據臣推算,每45年11個月要後退1度。”

“你這是削閏壞章,誣天背經。”戴法興有些惱羞成怒了。

“商朝時的曆法是三年一閏,周朝時改為五年二閏,春秋中葉起,才確定十九年七閏,難道他們是削閏壞章嗎?至於曆法,在《元嘉曆》之前已經有《太陽曆》,後來才改的,這是不是也是誣天背經呢?”

辯論最終以祖衝之的大獲全勝而告終。經過進一步的研究,證實了《大明曆》的科學性。於是宋孝武帝頒布詔書,通令全國於公元465年起改行新曆。遺憾的是宋朝不久就發生了戰亂,《大明曆》實際上並未推行。祖衝之死時仍沿用《元嘉曆》。

梁武帝時,祖衝之的兒子祖日桓上奏朝廷,請求皇帝下令啟用《大明曆》。梁武帝派人深入研究,證實了《大明曆》的優越性後,頒令於公元510年起施行《大明曆》。祖衝之在天文學上的成就最終得到了認可。