农历每个月的大小是根据月亮绕地球一圈的时间来定,一圈时间为29.5306天,取整数二十九天为一个月,把0.5306时间放到下一月,下一月为三十天,把剩余的0.0612给下个月,一直这推算下去有时就出现一连两个大月,和阳历一样每四年集齐一天就为闰年。
农历的大小月,是推算出来的。现行中国历法,朔日一定农历初一日。朔的定义是太阳、月亮视黄经相合时刻。这一时刻对应的日子就是朔日。只要找到了每个月的初一日,那么这二个初一日之间的间隔就可以决定月大月小了。
朔望月的周期平均约为29.53天,如果农历这个月从新月起算,到下一个月的新月开始,不到30天,那就按29天算;如果超过了30天,就按30天算。