2 Replies Latest reply on Jun 26, 2008 12:40 AM by 807589

    Calendar in Java 5 - get(Calendar.MONTH) always returns 0 after setTime()

    807589
      Here is the code I've been playing with:

      DateFormat df = new SimpleDateFormat("mm/dd/yyyy");
                df.setLenient(false);
      String testdate = "05/13/2003";
                Date testp = null;
                try {
                testp = df.parse(testdate);
                } catch (ParseException e) {
                ;
                }
                Calendar testCal = Calendar.getInstance();
                testCal.setTime(testp);
                int testMon = testCal.get(Calendar.MONTH);

      No matter what value I set testdate above to, testMon is always 0. In the above code, it was supposed to be set to 5, right?

      Something happens in setTime() to reset the Month field to 0 every time. I never noticed this in Java 1.4.

      Has anyone else had similar experiences? I would also appreciate a correction if there is a bug in the above code.

      Thanks!