google-rfc-2445 ( IETF RFC 2445 iCalendarの Java 実装)のパフォーマンスをテストするためだけに、多くの RRULE を実行しました。
メソッドから返されるリストで、場合によっては開始日が返されることがわかりました。
テストは非常に簡単です。
private static void runGoogleTests() throws ParseException
{
DateTimeZone dtz = DateTimeZone.UTC;
DateTime dtStart = new DateTime("2014-11-22T00:00:00Z", dtz);//SATURDAY
DateTimeIterable dti = DateTimeIteratorFactory.createDateTimeIterable("RRULE:FREQ=WEEKLY;COUNT=10;BYDAY=MO", dtStart, dtz, true);
System.out.println("Size of iterable = " + Iterators.size(dti.iterator()));
for(DateTime dateTime : dti)
{
System.out.println(dateTime);
}
}
ファクトリによって返されるリストは、このリストを返します。
最初の日付は開始日であり、そこにあってはならない土曜日です。RRULE には COUNT=10 も含まれていたのに、なぜ 11 を返すのでしょうか?
Size of iterable = 11
2014-11-22T00:00:00.000Z
2014-11-24T00:00:00.000Z
2014-12-01T00:00:00.000Z
2014-12-08T00:00:00.000Z
2014-12-15T00:00:00.000Z
2014-12-22T00:00:00.000Z
2014-12-29T00:00:00.000Z
2015-01-05T00:00:00.000Z
2015-01-12T00:00:00.000Z
2015-01-19T00:00:00.000Z
2015-01-26T00:00:00.000Z
Google-rfc-2445 を使用している人は、以前にこの問題に遭遇したことがありますか?
プロジェクトページに問題を投稿しましたが、非常に静かです。 google-rfc-2445 ページの問題へのリンク