参考博客:(3条消息) java日期算前一天_java 根据系统日期获取前一天、后一天时间(根据初始日期推算出期望(向前/向后)日期)..._nbht的博客-CSDN博客
方法:
@Test
public void test2() {
System.out.println(getCalculateDay(getDateTime(), 1));//2021-04-29
System.out.println(getCalculateDay(getDateTime(), -1));//2021-04-27
}
public static String getCalculateDay(Object initTime, int n) {
String calculateDay = "";
try {
Calendar calendar = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date initDate = null;
if (null == initTime) {
initDate = new Date();
} else if (initTime instanceof Date) {
initDate = (Date) initTime;
} else {
initDate = sdf.parse((String) initTime);
}
calendar.setTime(initDate);
calendar.add(Calendar.DATE, n);
Date calculateDate = calendar.getTime();
calculateDay = sdf.format(calculateDate);
} catch (ParseException e) {
e.printStackTrace();
}
return calculateDay;
}
public static String getDateTime() {
return SHORT_DATE_FORMAT.format(new Date());
}