Java 阴历阳历转换
工具类 import java.util.Arrays; import java.util.Date; import java.util.GregorianCalendar; /** * 工具类,实现阴阳历互转 * * @author luohao */ public class LunarCalendar { /** * 支持转换的最小农历年份 */ public static final int MIN_YEAR = 1900; /** * 支持转换的最大农历年份 */ public static final int MAX_YEAR = 2099; /** * 公历每月前的天数 */ private static final int[] DAYS_BEFORE_MONTH = {0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365}; /** * 用来表示1900年到2099年间农历年份的相关信息,共24位bit的16进制表示,其中: * 1. 前4位表示该年闰哪个月; * 2. 5-17位表示农历年份13个月的大小月分布,0表示小,1表示大; * 3. 最后7位表示农历年首(正月初一)对应的公历日期。 * 以2014年的数据0x955ABF为例说明: * 1001 0101 0101 1010 1011