java程序对特定的时间向前、后加指定年、月、日。java时间操作实例,增加时间。修改指定时间的方法。以下是具体的java代码:
/**
* 修改指定时间
*
* @author Lyq
* @date Mar 10, 2011 2:20:35 PM
* @version V 1.0
* @param ParamDate
* @param month 向前几个月
* @param day 向前几天
* @param month0 向后几个月
* @param day0 向后几天
* @return
*/
@SuppressWarnings(“static-access”)
public static String changeCurrentDay(String ParamDate, int BeforMonths, int BeforDays, int AfterMonths, int AfterDays) {
String mat = “yyyy-MM-dd”;
SimpleDateFormat sdf = new SimpleDateFormat(mat);
String changeDay = “”;
Calendar c = new GregorianCalendar();
if (StringUtils.isBlank(ParamDate)) {
c.setTime(new Date());
} else {
try {
c.setTime(sdf.parse(ParamDate));
} catch (ParseException e) {
e.printStackTrace();
}
}
// String currentDay = c.get(c.YEAR) + “-” + (c.get(c.MONTH) + 1) + “-”
// + c.get(c.DATE);
if (BeforMonths > 0) {
c.add(c.MONTH, -BeforMonths);
}
if (BeforDays > 0) {
c.add(c.DATE, -BeforDays);
}
if (AfterMonths > 0) {
c.add(c.MONTH, AfterMonths);
}
if (AfterDays > 0) {
c.add(c.DATE, AfterDays);
} else if (AfterDays <0) {
c.add(c.DATE, AfterDays);
}
String newDate = c.get(c.YEAR) + “-” + (c.get(c.MONTH) + 1) + “-” + c.get(c.DATE);
try {
changeDay = sdf.format(sdf.parse(newDate));
} catch (ParseException e) {
e.printStackTrace();
}
return changeDay;
}