私は次のコードを持っています:-
Calendar calc = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("MMM-yyyy");
calc.set(Calendar.YEAR, calc.get(Calendar.YEAR) - 1);
calc.set(Calendar.MONTH, Calendar.NOVEMBER);
System.out.println("---NOV? : " + sdf.format(calc.getTime()));
Calendar calc1 = Calendar.getInstance();
calc1.set(Calendar.YEAR, calc1.get(Calendar.YEAR) - 1);
calc1.set(Calendar.MONTH, Calendar.DECEMBER);
System.out.println("-- DEC : " + sdf.format(calc1.getTime()));
上記のコードの出力は次のとおりです:-
> ---NOV? : Dec-2012
> -- DEC : Dec-2012
これは1月31日にのみ発生しますが、なぜこれが発生するのか誰かが説明できますか?