Java计算两年后的前一天yyyyMMdd
输入一个字符串,如:20220801
输出两年后的前一天,预期输出:20240731
/**
* 字符串日期
* 计算两年后的前一天
*/
public static String TwoYearsLater(String ymd) {
try {
Date date = new SimpleDateFormat("yyyyMMdd").parse(ymd);
Calendar c = Calendar.getInstance();
c.setTime(date);
c.add(Calendar.YEAR,2); //两年后
c.add(Calendar.DATE, - 1); //前一天
return new SimpleDateFormat("yyyyMMdd").format(c.getTime()); //两年后的前一天
}catch (Exception e){
log.info("合同结束日期计算异常!"+e);
}
return null;
}
public static void main(String[] args) {
System.out.println(TwoYearsLater("20220801"));
}
测试结果
输入:20220801
输出:20240731