公历是全世界通用的历法,以地球绕太阳的一周为一年,一年365天,分为12个月,1月、3月、5月、7月、8月、10月和12月为31天,2月为28天,其余月份为30天。事实上地球绕太阳一周共365天5小时48分46秒,比公历一年多出5小时48分46秒。为使年误差不累积,公历年用闰年法来消除年误差,由于每年多出5小时48分46秒,每4年累计多出23小时15分4秒,接近1天。天文学家就规定每4年有一个闰年,把2月由28天改为29天,凡是公历年能被4整除的那一年就是闰年,但是这样一来每4年又少了44分56秒。为了更准确地计时,天文学家又规定凡能被100整除的年份,只有能被400整除才是闰年,即每400年要减掉3个闰年(例如,1700年、1800年和1900年不是闰年,2000年才是闰年),经过这样处理后,实际上每400年的误差只有2小时53分20秒,已相当准确了。
根据以上情况,某一年是否为闰年应按以下规则计算:闰年应能被4整除(如2016年是闰年,2015年不是闰年),但不是所有能被4整除的年份都是闰年。在能被100整除的年份中,只有同时能被400整除的年份才是闰年(如2000年是闰年),能被100整除而不能被400整除的年份(如1800年、1900年,2100年)不是闰年。
农历与公历不同,农历把月亮绕地球一周作为一月,一年12个月,总共354天或355天。而天气的冷热变化一次是365天,它和回归年(公历年)一致。这样农历和公历一年要相差11天或10天,3年就是1个月多。为使农历能适应天气冷热变化的周期,就在第3年加上1个月,这一年就有13个月,加上的这个月叫“闰月”,1年就是384或385天了。“闰月”也分为大月和小月,闰大月30天,闰小月29天。可以在任何一个月闰,既可闰大月,也可闰小月。农历采用19年加7个闰月的办法,即“十九年七闰法”,把回归年与农历年很好地协调起来。农历是中国传统文化的代表之一,并与农业生产联系密切,中国人民特别是广大农民十分熟悉并喜爱农历。
公历与农历是我国目前并存的两种历法,各有其固有的规律,农历与月球的运行相对应,其影响因素多。它的大小月和闰月与天体运行有关计算十分复杂,且每年都不一致。因此要用计算机或单片机实现公历与农历的转换,用查表法是最方便实用的办法。