获得前三个月的时间
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM");
Calendar cal = Calendar.getInstance();
// 取得前三个月的时间
cal.add(Calendar.MONTH, 0);
System.out.println(df.format(cal.getTime()));
cal.add(Calendar.MONTH, -1);
System.out.println(df.format(cal.getTime()) );
cal.add(Calendar.MONTH, -2);
System.out.println(df.format(cal.getTime()));
上面的写法存在问题,不知道为什么 在获取当前时间和前一个月的时间没问题,但获取前两个月的时间时就出现问题了,例如当前月是2012-01,前一个月时间为:2011-12,但是前两个月的时间变成了2011-10。
下面的写法就不会出现上面的问题了。
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM");
Calendar cal = Calendar.getInstance();
// 取得前三个月的时间
cal.add(Calendar.MONTH, 0);
System.out.println(df.format(cal.getTime()));
cal = Calendar.getInstance();
cal.add(Calendar.MONTH, -1);
System.out.println(df.format(cal.getTime()) );
cal = Calendar.getInstance();
cal.add(Calendar.MONTH, -2);
System.out.println(df.format(cal.getTime()));