0

2015 年 4 月 31 日を返す89 日を追加しようとしCurrentDateています。GregorianCalendar以下はコードスニペットです。

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

これは、月が1ではなく0java.util.Calendarで始まるためです。つまり、4は5月です。日付をフォーマットする最良の方法に加えて、java.text.SimpleDateFormat

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

または、カレンダーと時間に関連するコードにはJoda-Timeライブラリを使用することをお勧めします。

于 2013-01-30T15:22:05.657 に答える