我正在开发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));
Run Code Online (Sandbox Code Playgroud)
在这段代码中我期待得到一天的回复日期.但相反,我得到了一个月的约会.防爆.如果今天是16/04/2013,预期的产量是15/04/2013,但我得到15/03/2013(一天一个月回来)作为输出.
你不需要任何手动操作,Calendar会自动完成所有必要的日期算术,只需这样做
Calendar cal = new GregorianCalendar();
cal.add(Calendar.DATE, -1);
Run Code Online (Sandbox Code Playgroud)
请注意,日历中的月份从0开始,因此4月份为3
| 归档时间: |
|
| 查看次数: |
452 次 |
| 最近记录: |