实现
public static String getNextCalendar(Integer n){
//获取当前日历日期
GregorianCalendar calendar = new GregorianCalendar();
//往后推 n 个月
calendar.add(GregorianCalendar.MONTH,n);
//将往后推的一个月的日期转为字符串
String dateStr =
new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime());
return dateStr;
}
public static String getPreCalendar(Integer n){
//获取当前日历日期
GregorianCalendar calendar = new GregorianCalendar();
// 往前推 n 个月
calendar.roll(Calendar.MONTH,n);
//将往后推的一个月的日期转为字符串
String dateStr =
new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime());
return dateStr;
}
测试
@Test
public void testCalendar(){
GregorianCalendar calendar = new GregorianCalendar();//获取当前日历日期
String dateStr = new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime());
System.out.println("当前日期:"+dateStr);
String date = getNextCalendar(3);
System.out.println("往后推 3 个月日期:"+date);
String date2 = getPreCalendar(-2);
System.out.println("往前推 2 个月的日期:"+date2);
}
注意: 获取往前推的月份时,使用负数