Java Joda Time – 实现Date范围迭代器

我试图用Joda时间没有成功实现Date迭代器。
我需要一些东西,允许我从startDate到endDate的所有日子迭代
你知道怎么做吗?

这是让你入门的东西。 您可能想要考虑是否希望它最终具有包容性或排他性等。

import org.joda.time.*; import java.util.*; class LocalDateRange implements Iterable { private final LocalDate start; private final LocalDate end; public LocalDateRange(LocalDate start, LocalDate end) { this.start = start; this.end = end; } public Iterator iterator() { return new LocalDateRangeIterator(start, end); } private static class LocalDateRangeIterator implements Iterator { private LocalDate current; private final LocalDate end; private LocalDateRangeIterator(LocalDate start, LocalDate end) { this.current = start; this.end = end; } public boolean hasNext() { return current != null; } public LocalDate next() { if (current == null) { throw new NoSuchElementException(); } LocalDate ret = current; current = current.plusDays(1); if (current.compareTo(end) > 0) { current = null; } return ret; } public void remove() { throw new UnsupportedOperationException(); } } } class Test { public static void main(String args[]) { LocalDate start = new LocalDate(2009, 7, 20); LocalDate end = new LocalDate(2009, 8, 3); for (LocalDate date : new LocalDateRange(start, end)) { System.out.println(date); } } } 

我用Java编写了一个迭代器已经有一段时间了,所以我希望它是正确的。 我觉得这很好……

哦,对于C#迭代器块,这就是我所能说的……