//获取上个月的第一天
public void getLastMonthFirstDay() throws ParseException {
Calendar lastyymmCal = Calendar.getInstance();
lastyymmCal.add(Calendar.MONTH,-1);
String lastyyMM = String.format("%1$tY%1$tm",lastyymmCal);
lastyymmCal.setTime(new SimpleDateFormat("yyyyMM").parse(lastyyMM));
lastyymmCal.roll(Calendar.DATE, -1);
//获取上个月的最后一天
System.out.printf("%1$tF", lastyymmCal);
}
//获取上个月的最后一天
public void getLastMonthLastDay() throws ParseException {
Calendar lastyymmCal = Calendar.getInstance();
lastyymmCal.add(Calendar.MONTH,-1);
String lastyyMM = String.format("%1$tY%1$tm",lastyymmCal);
lastyymmCal.setTime(new SimpleDateFormat("yyyyMM").parse(lastyyMM));
lastyymmCal.roll(Calendar.DATE, -1);
//获取上个月的最后一天
System.out.printf("%1$tF", lastyymmCal);
}
//另外在这里提下,roll方法和add方法的区别:
/*
* roll方法只是对相应时间属性的域内做变化
* 例如,对月份使用roll方法,它会在1-12的范围内变化,不会影响的年
* 2011-1-15 roll(Calendar.MONTH, -1) 后是2011-12-15
*/
/*
* add方法会产生其他相关时间属性的连动变化
* 2011-1-15 roll(Calendar.MONTH, -1) 后是2011-12-15
*/