私は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. DATE行の日付範囲の日付
- 2. dijit.form.DateTextBox日付範囲
- 3. CakePHP:日付範囲
- 4. 日付範囲... C#
- 5. 日付範囲の日付をlinux
- 6. JavaのJoda日付/時刻ライブラリを使用して、「今日」の日付/時刻範囲を取得するにはどうすればよいですか?
- 7. parse joda-time
- 8. Java Joda Timeで "isBefore"を使用した日付のみの比較
- 9. 日付範囲 - PHPの範囲を超えていません
- 10. PHP日付範囲チェック
- 11. 日付範囲別のモンゴイドクエリ
- 12. 日付範囲ピッカーのローカライゼーション
- 13. SQL Serverの日付範囲
- 14. MongoDBの日付範囲クエリ
- 15. SQLの日付範囲
- 16. 日付範囲の外積
- 17. パンダの日付範囲
- 18. PostgreSQLの日付範囲
- 19. 弾性検索範囲の日付
- 20. 日付の範囲をエコーアウトするスクリプト
- 21. GSON Joda Timeシリアライザの標準実装はありますか?
- 22. エポック以降のJoda-Time日数
- 23. Joda-Time DateTimeに1日追加
- 24. 日付をPythonの日付範囲と比較する
- 25. 日付範囲とテーブルVBAの日付を比較する
- 26. 日付範囲の年月を無視するためのベストプラクティス
- 27. ASPxPivotGridの日付範囲でフィルタする
- 28. Pythonの日付範囲ジェネレータ(営業日)
- 29. Sharepointの日付範囲の式
- 30. 日付範囲パラメータ - レコード選択範囲の境界を含む
これはまったく役に立ちますか? http://stackoverflow.com/questions/847520/java-date-iterator-factory-with-rules-specifying-how-to-calculate-the-intervals – Davis
日が必要な場合は、LocalDateクラス(あなたの開始日を1に設定)、それぞれの次の日数をプラスします。これにより、インスタントに固有のタイムゾーンの問題を回避できます。 – Yishai