Forums Register Login

Calendar roll() not working

+Pie Number of slices to send: Send
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));
+Pie Number of slices to send: Send
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).]
+Pie Number of slices to send: Send
Thanks Manfred, that did the trick!!!
We're being followed by intergalactic spies! Quick! Take this tiny ad!
a bit of art, as a gift, that will fit in a stocking
https://gardener-gift.com


reply
reply
This thread has been viewed 1507 times.
Similar Threads
GregorianDate and week_number
Problem with GregorianCalendar
Date difference
Gregorian roll() function- April Fools Bug??
date validation
More...

All times above are in ranch (not your local) time.
The current ranch time is
Mar 28, 2024 08:38:13.