开发者

Calendar skips August 31st on roll(Calendar.DATE, false)

开发者 https://www.devze.com 2023-01-13 21:46 出处:网络
I have a program that displays info based on the day.Everything has b开发者_JAVA百科een working fine up till today.for some reason when have the calendar roll back one day to get yesterdays date it go

I have a program that displays info based on the day. Everything has b开发者_JAVA百科een working fine up till today. for some reason when have the calendar roll back one day to get yesterdays date it goes straight to august 30th. it skips august 31st. It will grab todays date fine (septermber 1st) but when i trace it, it goes right past the 31st. anyone suggestions on what I'm doing wrong or a better way to do it? here is my code

    Calendar date2;
    date2 = Calendar.getInstance();
    mday1 = date2.get(Calendar.DATE);
    date2.roll(Calendar.DATE, false);  //rolls back the date by one day
    mday2 = date2.get(Calendar.DATE);


It doesn't go to previous month. It stays in the same month (check the month field yourself). It just changes the day of the month. You'd like to use Calendar#add() instead with a negative value.

Calendar date2;
date2 = Calendar.getInstance();
mday1 = date2.get(Calendar.DATE);
date2.add(Calendar.DATE, -1);  //rolls back the date by one day
mday2 = date2.get(Calendar.DATE);
0

精彩评论

暂无评论...
验证码 换一张
取 消