回答很簡單:每隔19年。
知其所以然就略顯複雜了,我嘗試以我的專業知識來說一說。
公曆,它的正確稱呼應該是「格里高利曆」,Gregorian calendar ,是由教宗格裡高利十三世於1582年頒布。在中國也被稱為「公元」、「西元」。
農曆,現在使用的版本是1644年由攝政睿親王多爾袞頒布的「時憲歷」。其實這部曆法在崇禎年間就由西洋傳教士協助修訂好了,改朝換代的原因,才由清朝頒行。
這兩部曆法的編制原理不同。公曆是「陽曆」,也就是以地球繞太陽公轉的運動周期為基礎制定的。地球繞太陽運轉一周是365.2422天,也叫一個「回歸年」。公曆每4年設置一個閏年,也就是在2月多一天,變成366天。
農曆,雖然口語中叫它「陰曆」,但是它真不是「陰曆」,確切的說,是「陰陽合曆」。因為農曆的月份是按照月亮運行的,月亮繞地球一周是29.5306天,也叫一個「朔望月」,所以農曆的月份只有29天和30天兩種,而不會出現公曆中的28、31。農曆的一年,是在考慮到朔望月的基礎上,用節氣來調節陰陽,不至於季節紊亂,所以農曆的閏月是一個整月,有閏月的年份是13個月。
19年,是人們平均壽命之內可以觀察和體驗到的,公曆和農曆的「最近似重合」。
我之所以說是「最近似重合」,是因為19年公曆和農曆有的完全重合,有的會差一天。天體運行都是無理數,取整也是技術活啊!
所謂「二十四節氣」,古代都叫「氣」。為了區分,每個月裡,前面的叫「節氣」,後面的叫「中氣」。小學數學算一下,19個公曆的年份,應該有228(12×19)個節氣和228個中氣。但是,農曆的19年會有235個朔望月,因為農曆把沒有中氣的月定為閏月,所以19年內有7個閏月。
驗算一下,365.2422×19=6939.6018,29.5306×235=6939.691,相差不到十分之一天。相差這小數點後兩位,就是為什麼有的年份和19年前差一天的原因,近似重合嘛!人類已經盡力了,為了這堆無理數的取整,發明了N多種曆法了!
十九年七閏,在我國春秋時期就已經發現這個規律了。哥白尼體系的運算,也是這個結果。祖衝之的推算是「391年144閏」,更為精確了。現代的授時和曆法計算更為精確,會有「閏秒」作為微調。不管怎麼說公曆和農曆19年重合一次,還是近似準確的,可以參考的。