私はJoda時間を持つ日付イテレータを成功裏に実装しようとしています。
私は、すべての日のフォームをstartDateからendDateまで繰り返すことができるようにする必要があります
これを行う方法はありますか?Java Joda Time - 日付範囲イテレータを実装する
12
A
答えて
28
ここから始めてみましょう。あなたは、それは私がJavaでイテレータを書いたので、しばらくだなど
import org.joda.time.*;
import java.util.*;
class LocalDateRange implements Iterable<LocalDate>
{
private final LocalDate start;
private final LocalDate end;
public LocalDateRange(LocalDate start,
LocalDate end)
{
this.start = start;
this.end = end;
}
public Iterator<LocalDate> iterator()
{
return new LocalDateRangeIterator(start, end);
}
private static class LocalDateRangeIterator implements Iterator<LocalDate>
{
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);
}
}
}
、あなたはそれが最後に包括的または排他的になりたいかを考えてもよいでしょうので、私希望はそれが正しいです。私は
1
http://code.google.com/p/google-rfc-2445 ...それはすべて私に言えることですが、C#の反復子ブロックの
ああ...それはかなり大丈夫だと思いますか?
関連する問題
- 1. PHPの日付範囲パターンを実装するGlobパターン
- 2. Joda時間で年なしの日付範囲を作成しますか?
- 3. 日付範囲
- 4. 日付範囲
- 5. ファントムマッピングJava 8 LocalDateTime to Joda Time
- 6. Joda Timeを使用したExcel DAYS360の実装DateTime
- 7. DATE行の日付範囲の日付
- 8. parse joda-time
- 9. JavaのJoda日付/時刻ライブラリを使用して、「今日」の日付/時刻範囲を取得するにはどうすればよいですか?
- 10. Java Joda Timeで "isBefore"を使用した日付のみの比較
- 11. dijit.form.DateTextBox日付範囲
- 12. 日付範囲... C#
- 13. パンダグループ日付範囲
- 14. Moment.js - 日付範囲
- 15. Row_Number日付範囲
- 16. パラメータ「日付範囲」
- 17. CakePHP:日付範囲
- 18. 日付範囲が
- 19. Cloudsearch日付範囲
- 20. 日付範囲フィールドの範囲集計
- 21. 日付範囲の累積数範囲
- 22. where句の日付範囲フィルタの日付範囲フィルタの使用
- 23. 日付範囲と時間範囲を、日付範囲に含まれる各日の時間範囲を含む一連の結果に結合するSQL
- 24. Java Joda時間isAfter日付解決
- 25. GSON Joda Timeシリアライザの標準実装はありますか?
- 26. 静的な日付範囲を動的な日付範囲に変更する
- 27. のDataTable日付範囲フィルタ日付範囲フィルタを追加する方法
- 28. 日付範囲の日付をlinux
- 29. Joda-Time DateTimeに1日追加
- 30. エポック以降のJoda-Time日数
これはまったく役に立ちますか? http://stackoverflow.com/questions/847520/java-date-iterator-factory-with-rules-specifying-how-to-calculate-the-intervals – Davis
日が必要な場合は、LocalDateクラス(あなたの開始日を1に設定)、それぞれの次の日数をプラスします。これにより、インスタントに固有のタイムゾーンの問題を回避できます。 – Yishai