获取指定月的最后一天
/**
* 取指定日期的月最后一天
*
* @param date String 指定日期
* @param offset int 指定日期的月偏移,0为指定日期的当前月
* @param format String 日期格式,默认是YYYYMMDD
* @return String 月份的最后一天
*/
public static String getMonthLastDay(String date, int offset, String format) {
int year = Integer.parseInt(date.substring(0, 4));
int mont = Integer.parseInt(date.substring(4, 6)) - 1 + offset; //月份是从0开始的数组,所以这里要用实际月份-1。
if (mont > 11)
mont = 11;
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, year);
c.set(Calendar.MONTH, mont);
c.set(Calendar.DAY_OF_MONTH, c.getActualMaximum(Calendar.DAY_OF_MONTH));
return formatDate(c.getTime(), format);
}
/**
* 格式化日期
*
* @param date Date
* @param format String
* @return String
*/
public static String formatDate(java.util.Date date, String format){
if (format == null || format.trim().length() == 0) {
format = "yyyyMMdd";
}
SimpleDateFormat formater = new SimpleDateFormat(format);
return formater.format(date);
}