0

我正在尝试将 89 天添加到CurrentDate2015GregorianCalendar年 4 月 31 日。下面是代码片段。

Calendar now = Calendar.getInstance(); 
String dt="31012013";  
now.set(Integer.parseInt(dt.substring(4)),Integer.parseInt(dt.substring(2,4)),Integer.parseInt(dt.substring(0,2))); 
now.add(Calendar.DATE, 89); 
String matdate=Integer.toString(now.get(Calendar.DATE))+ "/"+ (now.get(Calendar.MONTH) ) +"/" + now.get(Calendar.YEAR); 

执行此代码后,matdate值为31/04/2013

4

1 回答 1

5

这是因为java.util.Calendar月份从0 而不是 1开始,即 4 是五月。除了格式化日期的最佳方式是java.text.SimpleDateFormat

    String matdate = new SimpleDateFormat("dd/MM/yyyy").format(now.getTime()));

或者更好地将Joda-Time库用于日历和时间相关代码。

于 2013-01-30T15:22:05.657 回答