第一种方法:
/**
* @param sDate 当前日期
* @param nextMonth 间隔月数
* @return
*/
public static String nextDate(Date sDate, short nextMonth) {
if(sDate == null){
return null;
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
calendar.setTime(sDate);
calendar.add(Calendar.MONTH, nextMonth);
return sdf.format(calendar.getTime());
}
第二种方法:
LocalDate提供的plus()方法:
示例:求当前日期之后的两个月日期:
LocalDate plusDays = LocalDate.now().plus(2, ChronoUnit.MONTHS);
第一种方法和第二种方法运行结果一致:
LocalDate plusDays = LocalDate.now().plus(2, ChronoUnit.MONTHS);
System.out.println(plusDays);
String nextDate = nextDate(new Date(), (short) 2);
System.out.println(nextDate);
拓展:第二种方法不仅可以获取当前日期之前或者之后amountToAdd(@param amountToAdd the amount of the unit to add to the result, may be negative)数量月后日期,还可以根据ChronoUnit参数求当前日期之前或者之后多少天数,年数等日期,如:ChronoUnit.DAYS,ChronoUnit.YEARS,改变参数即可