XWAF提供了管理日历的com.xwaf.date.LunarCalendar静态类,可以直接使用,非常方便。该类包括六个主要静态方法:
4.1 isLeapYear(int year) 判断公历年是否闰年
判断指定的阳历年份是否是闰年。调用语法:
Boolean isLY = LunarCalendar.isLeapYear(1963);
返回值:false
4.2 getZodiacYear(int year) 公历年对应的农历生肖
获取指定农历年份的生肖(字符串)。调用语法:
String strZodiac = LunarCalendar.getZodiacYear(1963);
返回值:兔
4.3 getLunarDateExpress(Date) 公历日对应的农历日
获取指定阳历日期所对应的农历日期表达式。该方法还包括一个重载方法:getLunarDateExpress(String),允许以字符串类型提供日期参数。调用语法:
String strDate = LunarCalendar.getLunarDateExpress(“1963-07-22”);
返回值:癸卯(兔)年六月初二。
4.4 getLunarTerm(Date) 公历日对应的农历节气
获取指定日期所在的24节气名称。调用语法:
String strTerm = LunarCalendar.getLunarTerm(new Date());
返回值:小寒
4.5 getFullLunarExpress(Date) 公历日转完整的农历表达式
该方法返回指定阳历日期所对应的完整农历日期表达式,参数是一个Date类型的值,范围必须在1901年01月01日到2100年12月31日之间。调用语法:
String strLunar = LunarCalendar.getFullLunarExpress(new Date());
返回值:2017年01月18日 星期三 丙申(猴)年腊月廿一[小寒]
4.6 getSolarDateExpresses(String,String,String) 农历转公历
根据指定的农历年、月、日的中文名称参数,返回匹配但不超过当前农历日期的阳历日期表达式列表(可能有多个匹配的阳历日期)。调用语法:
List<String> strLunars = LunarCalendar.getSolarDateExpresses("丙申","腊月","廿一");
返回值:"1957-01-21"、"2017-01-18"
注意:两个值相差60年。