java 定时,Calendar取上一个月,包含跨年情况
Calendar calendar = Calendar.getInstance();
SimpleDateFormat formatTemp = new SimpleDateFormat("yyyyMMdd");
// 获取上个月的第一天
calendar.add(Calendar.MONTH, -1);
calendar.set(Calendar.DAY_OF_MONTH, 1);
timeStrStartLast = formatTemp.format(calendar.getTime());
// 获取上个月的最后一天
calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_MONTH, 0);
timeStrEndLast = formatTemp.format(calendar.getTime());
year=timeStrStartLast.substring(0,4);
month=timeStrStartLast.substring(4,6);
//上上个月的第一天
calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, -2);
calendar.set(Calendar.DAY_OF_MONTH, 1);
timeStrStartBefore=formatTemp.format(calendar.getTime());
//上上个月的最后一天
calendar = Calendar.getInstance();
calendar.add(Calendar.MONTH, -1);
calendar.set(Calendar.DAY_OF_MONTH, 0);
timeStrEndBefore=formatTemp.format(calendar.getTime());
yearBefor=timeStrStartBefore.substring(0,4);
monthBefore=timeStrStartBefore.substring(4,6);