title: bug in java for gregorian calendar
body: <p>I am trying to add 89 days to <code>CurrentDate</code> through <code>GregorianCalendar</code> which is returning 31/04/2015.  Below is code snippet.</p>
  
  <pre><code>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); 
  </code></pre>
  
  <p>After executing this code, <code>matdate</code> value is coming as <strong>31/04/2013</strong></p>