0

RRULE を使用して繰り返しを処理するicalendarイベントを使用しています。

さて、RRULE を処理するためのWhenRRulesなどのようないくつかの php クラスがあることを認識しており、繰り返しイベントを生成するタスクを達成するために既にそれを使用していますが、問題は長い日付範囲でのパフォーマンスに関するものです.

そのため、現在のカレンダー ビューで範囲 (開始と終了) を制限することで、繰り返しを生成するタスクを高速化することを考えました[ MONTH, WEEK, DAY ]

次のような繰り返しイベントがあると仮定します

FREQ=DAILY;INTERVAL=1;DTSTART:2009-01-01

私がしているのは明らかにDTSTART今日の日付に変更し、日付を追加しUNTILてループを近い範囲に制限することであり、うまく機能しています。問題には、次のようなルールがあります。

FREQ=WEEKLY;BYDAY=SU;DTSTART:2009-01-01

また

FREQ=WEEKLY;INTERVAL=5;DTSTART:2009-01-01

この種のルールでは、元の開始日がハードコードされた今日の日付と一致しないため、私のトリックは機能しません。

DateTime Period と Interval を使用していくつかの反復を試みましたが、わかりません。

だから私が求めているのは、月、週、または単一の日である私のビュー範囲で特定の日付がいつ繰り返されるかを見つける方法です。

誰かが私を助けてくれることを願っています。;)

4

1 に答える 1