最近工作中需要根据当前日期获取到一年前的年份和月份,于是就写了这个方法。水平有限,勿喷!
/**
*
* 获取一年前的日期 效果:202107--》202008
*
* @作者: zktian
* @参数: date6 //6位日期 如:202107
* @返回值: String // 如:202008
*
* @修改记录(修改时间、作者、原因):
*/
public static String getLastyearAndmonth(String date6){
SimpleDateFormat sd = new SimpleDateFormat("yyyyMM");
String payoffYearMonth = date6;
Integer thismonth = Integer.parseInt(payoffYearMonth.substring(4,6));
Date currdate = null;
try {
currdate = sd.parse(payoffYearMonth);
Calendar calendar = Calendar.getInstance();
calendar.setTime(currdate);
if (thismonth -12 == 0){
thismonth = 0;
calendar.set(Calendar.MONTH,thismonth);
}else{
calendar.set(Calendar.MONTH,calendar.get(Calendar.MONTH)+1);
calendar.set(Calendar.YEAR,calendar.get(Calendar.YEAR)-1);
}
return sd.format(calendar.getTime());
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}