农历按照自然月划分方式的不同,可拆分为十月历法,十二月历法,干支厉法,太阳历法,太阴历法总共5种历法。
十月历法:以天干纪月,以干支纪日,一年10个自然月。
十二月历法:以地支纪月,以干支纪日,一年12个自然月。
干支厉法:以天干地支纪月,一年12个自然月。
太阳历法:以地球公转为准,使用二十四节气进行纪月,一年24个月。
太阴历法:以月相变化为准,进行纪月,一年12-13个月。
以下是使用类与对象思路,对历法功能进行拆分。
最后再把对应的同一天组合起来就行了。