1.传入一个日期和指定一个月份,具体方法如下:
public static String getNextMonthDayLast (String starDate,int i) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date = sdf.parse(starDate);
Calendar cal = Calendar.getInstance();
cal.setTime(date);
String nextMonth = getNextMonth(i);
int daysOfMonth = getDaysOfMonth (nextMonth);
String nextDate = "";
if(cal.get(Calendar.DAY_OF_MONTH)>=daysOfMonth){
nextDate = nextMonth+"-"+daysOfMonth;
} else {
nextDate = nextMonth+"-"+cal.get(Calendar.DAY_OF_MONTH);
}
return nextDate;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public static String getNextMonth (int i) {
Calendar cal = Calendar.getInstance();
cal.add(cal.MONTH,i);
SimpleDateFormat dft = new SimpleDateFormat("yyyy-MM");
String preMonth = dft.format(cal.getTime());
return preMonth;
}
public static int getDaysOfMonth (String date) {
SimpleDateFormat dft = new SimpleDateFormat("yyyy-MM");
Calendar calendar = Calendar.getInstance();
try {
calendar.setTime(dft.parse(date));
} catch (Exception e) {
e.printStackTrace();
return 0;
}
return calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
}
如传入