Calendar returns incorrect values for DAY_OF_YEAR and DAY_OF_WEEK after calling add().
Here is an example code to test it: import java.util.Calendar; public class CalendarTest { public static void main( String [] args ) { boolean fail = false; Calendar c = Calendar.getInstance(); c.set( 2004, 0, 1 ); fail |= print( c, 1, 5 ); c.add( Calendar.MONTH, 1 ); fail |= print( c, 32, 1 ); c.add( Calendar.MONTH, 1 ); fail |= print( c, 61, 2 ); c.add( Calendar.MONTH, 1 ); fail |= print( c, 92, 5 ); System.exit( fail ? 1 : 0 ); } static boolean print( Calendar c, int doy, int dow ) { int y = c.get( Calendar.YEAR ), m = c.get( Calendar.MONTH ), d = c.get( Calendar.DAY_OF_MONTH ), actdoy = c.get( Calendar.DAY_OF_YEAR ), actdow = c.get( Calendar.DAY_OF_WEEK ); if( actdoy != doy || actdow != dow ) { System.out.println( "FAIL: y="+y+", m="+m+", d="+d+", doy="+doy+", actdoy="+actdoy+", dow="+dow+", actdow="+actdow ); return true; } else { System.out.println( "PASS: y="+y+", m="+m+", d="+d+", doy="+doy+", dow="+dow); return false; } } } -- Summary: Calendar returns incorrect values for DAY_OF_YEAR and DAY_OF_WEEK after calling add(). Product: gcc Version: 3.4.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: java AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mnefedov at rogers dot com CC: gcc-bugs at gcc dot gnu dot org,java-prs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18083