我有一个数据库,其中包含以下格式的事件:
时间表
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 不是 100% 是否需要或将使用 repeatmultiple 用于每隔一周或每隔一个月重复一次事件时,依此类推......
我一直在苦苦挣扎的是计算下一个事件何时发生的代码,我尝试了来自互联网和 stackoverflow 的各种解决方案,但仍在苦苦挣扎。大多数情况下,我的代码会陷入无限循环,无法计算出下一个事件的正确日期。
如果有人能够帮助编写一个可以循环查找下一次事件发生的函数的编码,我将非常感谢那里的帮助,因为我感到非常沮丧,而且距离我开始时的距离也不远了。