我有持有以下格式事件数据库:PHP计算下一个事件日期
时刻表
id
show_id
starttime - datetime
endtime - datetime
repeatuntil - datetime
repeat - int
nthdayofmonth - int
repeatmultiple - int
show_id持有人已存储节目的ID号。
对于不同的周期性或不同的天/时变化,节目可以存储多次。
startime,endtime和repeatuntil对于他们的工作有点显而易见。
重复是重复的类型:
1 - hourly
2 - daily
3 - weekly
4 - monthly
5 - yearly
nthdayofmonth我不是100%,这是否需要将用于 repeatmultiple是当想要的事件每隔一周或每被重复使用一个月等等...
我一直在挣扎是计算当一个事件发生,我试图从互联网和计算器的各种解决方案,但我仍然在努力的代码。大部分时间我的代码在无限循环中结束,无法为下一个事件找出正确的日期。
如果有人能够帮助编写一个可以循环查找下一次事件发生的函数的编码,我将非常感谢那里的帮助,因为我感到非常沮丧,而且从开始时起就没有太多进展。
我不认为你真的想为此循环。你有没有试过用已知的事件创建一个日期对象,然后使用date_add()去下一个? – 2011-06-13 19:40:21
@Rob艾伦,但这只会在事件第一次重复时才起作用? – Aran 2011-06-21 20:15:13
你是对的。当你运行它时,你将会得到下一个事件,并且只有下一个事件。但是,该功能可以成为您需要的其他任何流程的基石。重构可以给你第N个实例或N个日期。最终,您可以将其插入到循环中以构建日历或其他事件日期集合。 – 2011-06-23 12:03:50