我需要明天再加上60天,然后每天循环播放。只是想知道这样做的恰当方法是什么?
这就是我尝试过的。它以某种方式开始我的循环月份,并在2015年1月将月份显示为0。
Calendar startCalemder = Calendar.getInstance();
startCalemder.setTime(new Date());
startCalemder.add(Calendar.DATE, 1);
Calendar endCalendar = Calendar.getInstance();
endCalendar.setTime(new Date());
endCalendar.add(Calendar.DATE, 60);
//loop over day by day
for (; startCalemder.compareTo(endCalendar) <= 0;
startCalemder.add(Calendar.DATE, 1)) {
startCalemder.get(Calendar.YEAR); //shows year
startCalemder.get(Calendar.MONTH); //shows month
startCalemder.get(Calendar.DAY_OF_MONTH); //shows day
}
答案 0 :(得分:2)
你的代码没问题。你需要了解的疯狂Calendar
API是0表示1月,10表示11月。
https://docs.oracle.com/javase/7/docs/api/constant-values.html#java.util.Calendar.JANUARY
答案 1 :(得分:0)
您的代码很好,但是在您使用setTime(new Date())
创建新日历之前不必调用Calendar.getInstance()
,这已经为您提供了设置为当前时间的新日历实例。< / p>
答案 2 :(得分:-1)
作为旁边的答案,使用优秀的Joda库:
DateTime start = new Datime().plusDays(1);
DateTime end = start.plusDays(60);
for(DateTime current = start ; current.isBefore(end) ;
current = current.plusDays(1)) {
int year = current.getYear();
int month = current.getMonthOfYear();
int day = current.getDayOfMonth();
}