我正在用 JAVA swing 开发一个应用程序,因为我想要与当前日期的日期差异,比如如果今天是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));
在这段代码中,我期望得到一天的回溯。但相反,我得到了一个月的回溯日期。前任。如果今天是16/04/2013
,预期的输出是15/04/2013
,但我得到 15/03/2013(一个月前一天)作为输出。