/**根据输入的日期A和天数B,计算出B天后的日期C*/
public static String getLateDate(String sDate,int iDays) {
String sLateDate = "";
Calendar calendar = Calendar.getInstance();
try {
String time = sDate;
String[] arrDate = time.split("-");
int iYear = Integer.valueOf(arrDate[0]);
int iMonth = Integer.valueOf(arrDate[1]);
int iDay = Integer.valueOf(arrDate[2]);
calendar.set(iYear, iMonth, iDay);
calendar.add(Calendar.MONTH, -1);
calendar.add(Calendar.DATE, iDays);
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");//构造日期格式化器
date = calendar.getTime();
sLateDate = sdf.format(date);
}catch (Exception e) {
LOGGER.error("计算某天数后的日期错误",e);
}
return sLateDate;
}
1.使用Calendar应该在set时iMonth-1,而不是add时-1; set时已经指定了时间对象范围,add只在最后输出时起作用