次の形式でイベントを保持するデータベースがあります。
スケジュール
id
show_id
starttime - datetime
endtime - datetime
repeatuntil - datetime
repeat - int
nthdayofmonth - int
repeatmultiple - int
show_id は、保存されているショーの ID 番号を保持します。
ショーは、さまざまな繰り返し、またはさまざまな日/時間のバリエーションに対して複数回保存できます。
starttime、endtime、repeatuntil が何をするかは少し明白です。
repeat は repeat のタイプです:
1 - hourly
2 - daily
3 - weekly
4 - monthly
5 - yearly
nthdayofmonth am not 100% これが必要であるか、使用されるかどうかにかかわらず、repeatmultiple は、イベントを隔週または隔月で繰り返したい場合に使用します...
私が苦労しているのは、次のイベントがいつ発生するかを計算するコードです。インターネットとスタックオーバーフローからさまざまなソリューションを試しましたが、まだ苦労しています。ほとんどの場合、私のコードは無限ループに陥り、次のイベントの正しい日付を計算できません。
次回イベントが発生したときに検索をループできる関数のコーディングを手伝ってくれる人がいる場合は、私が非常にイライラしていて、始めたときからそれほど遠くないので、その支援に大いに感謝します.