largeQ
早在2010年,我就建议用尤达-时间为了这个。注意,Joda-Time现在处于维护模式。从1.8(2014)开始,您应该使用java.time.一次加一天,直到到达结束日期:int days = Days.daysBetween(startDate, endDate).getDays();List<LocalDate> dates = new ArrayList<LocalDate>(days);
// Set initial capacity to `days`.for (int i=0; i < days; i++) {
LocalDate d = startDate.withFieldAdded(DurationFieldType.days(), i);
dates.add(d);}实现您自己的迭代器也不会太困难,这样做会更好。