This week's giveaway is in the EJB and other Java EE Technologies forum. We're giving away four copies of EJB 3 in Action and have Debu Panda, Reza Rahman, Ryan Cuprak, and Michael Remijan on-line! See this thread for details.
I am getting a Calendar representing today - March 1st, 2001 and rolling it back one day. I am not ending up with Feb 28th, but March 31st. This has worked in changing from January to Fevruary, but now I am having this problem. I read in the API that GregorianCalendar should resolve this issue, but I saw the same results - March 31st, 2001. Any thoughts on how to fix this? Besides writing code to handle February? GregorianCalendar newCal = new GregorianCalendar(); System.out.println("Todays calendar date:" + getStringFromCalendar(newCal)); //roll back the number of days between the dates passed in newCal.roll(Calendar.DATE, -1); System.out.println("After rollback New calendar date:" + getStringFromCalendar(newCal));
Hi Johanna, Try to use Calendar.DAY_OF_YEAR instead. It will work every time in the roll method. NOTE: According to API: Calendar.DATE is equivalent to Calendar.DAY_OF_MONTH which makes sense with yours results! Regards, Manfred. [This message has been edited by Manfred Leonhardt (edited March 01, 2001).]