农历与公历不可能完全对应的。
这与公历、农历的置闰规则有关系。
公历是400年97闰,平均每年的年长为365.2425天。
但如果没遇到世纪年,闰法是4年1闰。最近几十年都是如此。所以最近几十的公历的平均年长是365.25天。
19公历年的长度为:6939.75天,实际排历谱时,要取整的。只有6939天。
1978年9月21日的儒略日数为:2443773
1997年9月21日的儒略日数为:2450713
从1978年9月21日到1997年9月20日,正好是6939天。
而农历是按照天象来推算的。19年回归年虽然对应235个朔望月(尾数不尽相同),但不表示235个农历月的日数一定与19个公历年的日数一定相等。
235个农历月的长度为:235*29.53058885=6939.688天。
农历按天象来定,不能像公历一样简单对日数取整。
最终推算出来的历谱,就可能与公历相差一天。
你再继续往下推,
到2016年9月21日,是农历的八月廿一了。又推后一天了。
到2035年9月21日,是农历的八月二十日。
到2054年9月21日,是农历的八月二十日。
所以你不能强求公历每过19年,农历一定回到原先的几月初几。