我有一个根据日期显示信息的程序。直到今天,一切都运行良好。由于某种原因,当日历回滚一天以获得昨天的日期时,它会直接进入 8 月 30 日。它跳过了 8 月 31 日。它会捕获今天的日期(9 月 1 日),但当我追踪它时,它正好过了 31 号。有人对我做错了什么或更好的方法提出建议吗?这是我的代码
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);
最佳答案
它不会转到上个月。它停留在同一个月(自己检查月份字段)。它只是改变了一个月中的某一天。你想使用 Calendar#add()
而不是负值。
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);
关于java - 日历在滚动时跳过 8 月 31 日(Calendar.DATE,false),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3622634/