java日期工具类DateUtil-续二(四)

2014-11-24 10:53:08 · 作者: · 浏览: 3
tring() {
if (lunarYear == 0)
return null;
return SimpleLunarCalendar.Animals[(this.lunarYear - 4) % 12];
}
/**
* 返回农历日期字符串
* @return 农历日期字符串
*/
public String getDayString() {
if (lunarDay == 0)
return null;
return SimpleLunarCalendar.getLunarDayString(this.lunarDay);
}
/**
* 返回农历日期字符串
* @return 农历日期字符串
*/
public String getMonthString() {
if (lunarMonth == 0)
return null;
return (this.isLeap() "闰" : "") + SimpleLunarCalendar.getLunarMonthString(this.lunarMonth);
}
/**
* 返回农历日期字符串
* @return 农历日期字符串
*/
public String getYearString() {
if (lunarYear == 0)
return null;
return SimpleLunarCalendar.getLunarYearString(this.lunarYear);
}
/**
* 返回农历表示字符串
* @return 农历字符串(例:甲子年正月初三)
*/
public String getDateString() {
if (lunarYear == 0)
return null;
return this.getYearString() + "年" + this.getMonthString() + "月" + this.getDayString() + "日";
}
/**
* 农历年是否是闰月
* @return 农历年是否是闰月
*/
public boolean isLeap() {
return isLeap;
}
/**
* 农历年是否是闰年
* @return 农历年是否是闰年
*/
public boolean isLeapYear() {
return isLeapYear;
}
/**
* 当前农历月是否是大月
* @return 当前农历月是大月
*/
public boolean isBigMonth() {
return this.getMaxDayInMonth() > 29;
}
/**
* 当前农历月有多少天
* @return 天数
*/
public int getMaxDayInMonth() {
if (lunarYear == 0)
return 0;
return this.maxDayInMonth;
}
/**
* 农历日期
* @return 农历日期
*/
public int getDay() {
return lunarDay;
}
/**
* 农历月份
* @return 农历月份
*/
public int getMonth() {
return lunarMonth;
}
/**
* 农历年份
* @return 农历年份
*/
public int getYear() {
return lunarYear;
}
}
说明:该农历核心算法是从网上寻找而来,但我进行了完善,适用的年份为:1900年——2099年,我去掉了不精准的部分(如天干地支),目前该简单农历只能满足显示阴历信息,适合需要较为简单的用户适用。另外若想支持的年限范围更广,则需要修改lunarInfo(农历年数据表),并做适当的调整(默认农历年)即可。