import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class ChangeDate {
public static void main(String[] args) throws ParseException {
String date = "2017-10-31";
System.out.println("增加一年:");
System.out.println(changeYear(date, 1));
System.out.println("减少一年:");
System.out.println(changeYear(date, -1));
System.out.println("增加一个月");
System.out.println(changeMonth(date, 1));
System.out.println("减少两个月");
System.out.println(changeMonth(date, -2));
System.out.println("增加一周");
System.out.println(changeWeek(date, 1));
System.out.println("减少一周");
System.out.println(changeWeek(date, -1));
System.out.println("增加五天");
System.out.println(changeDay(date, 5));
System.out.println("减少十天");
System.out.println(changeDay(date, -10));
}
private static String changeYear(String day, int param) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date dt = sdf.parse(day);
Calendar rightNow = Calendar.getInstance();
rightNow.setTime(dt);
rightNow.add(Calendar.YEAR, param);
Date date = rightNow.getTime();
return sdf.format(date);
}
private static String changeMonth(String day, int param) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date dt = sdf.parse(day);
Calendar rightNow = Calendar.getInstance();
rightNow.setTime(dt);
rightNow.add(Calendar.MONTH, param);
Date date = rightNow.getTime();
return sdf.format(date);
}
private static String changeDay(String day, int param) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date dt = sdf.parse(day);
Calendar rightNow = Calendar.getInstance();
rightNow.setTime(dt);
rightNow.add(Calendar.DAY_OF_MONTH, param);
Date dt1 = rightNow.getTime();
return sdf.format(dt1);
}
private static String changeWeek(String day, int param) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date dt = sdf.parse(day);
Calendar rightNow = Calendar.getInstance();
rightNow.setTime(dt);
rightNow.add(Calendar.WEEK_OF_MONTH, param);
Date date = rightNow.getTime();
return sdf.format(date);
}
}
运行结果