私はJAVAスイングでアプリケーションを開発しています.今日のように現在の日付との日付差が16/04/2013
必要15/04/2013
でした. 次のコードを試しました:
Calendar cal = new GregorianCalendar();
Calendar cal2 = new GregorianCalendar();
cal.roll(Calendar.DAY_OF_YEAR, -1);
//if within the first 30 days, need to roll the year as well
if(cal.after(cal2)){
cal.roll(Calendar.YEAR, -1);
}
System.out.println("Year " + cal.get(Calendar.YEAR));
System.out.println("Month " + cal.get(Calendar.MONTH));
System.out.println("Day " + cal.get(Calendar.DAY_OF_MONTH));
このコードでは、1 日前の日付を取得することを期待していました。しかし、代わりに、1か月前の日付を取得しています。元。今日が16/04/2013
の場合、予想される出力は ですが、出力15/04/2013
として 2013 年 3 月 15 日 (1 か月前) を取得しています。