当后延或者前推的天数在一定时间之内时,可以用以下方法处理

public static Date  getValidEndTime(Date date,int validDayCount){

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

String datestr = sdf.format(date);

try {

date = sdf.parse(datestr);

} catch (ParseException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

date.setTime(date.getTime() + (validDayCount * 24 * 60 * 60 * 1000));

return date;

}

方法来把时间就改变指定的天数(validDayCount)

本例中的推移时间是以整数天推移,也就是上文中的sdf为‘’yyyy-MM-dd‘’的形式,


经过本人的测试当用如上方法改变时间导致月份变更的时候则会出现差错,所以当要改变的天数足够多时,则可以通过以下的方法来推移时间。

public static Date  getValidEndTime(Date date,int validDayCount){

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

String datestr = sdf.format(date);

try {

date = sdf.parse(datestr);

} catch (ParseException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

Calendar calendar = Calendar.getInstance();

calendar.setTime(date);

calendar.add(Calendar.DATE, validDayCount);

date = calendar.getTime();

return date;

}