Php 将事件设置为在特定时间之间发生
所以我有一个数据库,它有一组假设在某个时间发生和结束的事件。假设我的表是(这里的事件是一个实际事件,而不是代码) 我想要的是,如果事件发生在TimeEnd和TimeEnd+3小时之间,我希望事件发生。我遇到的问题是如果是2300呢?我使用了日期为N的日期,对应于星期一(1)-星期日(7) 因此,如果是事件B,我需要一个代码,它占用当前时间,减少3个小时(这样我就不会进入第4天),然后我得到TimeEnd并增加3个小时 现在我测试的问题是,如何使事件B在第3天发生?即使我使用strotime(),事件B在经过2400小时后仍然显示第4天 为了让事情更清楚,我正在创建一个投票调查,只在活动结束后开始,只持续3个小时Php 将事件设置为在特定时间之间发生,php,mysql,Php,Mysql,所以我有一个数据库,它有一组假设在某个时间发生和结束的事件。假设我的表是(这里的事件是一个实际事件,而不是代码) 我想要的是,如果事件发生在TimeEnd和TimeEnd+3小时之间,我希望事件发生。我遇到的问题是如果是2300呢?我使用了日期为N的日期,对应于星期一(1)-星期日(7) 因此,如果是事件B,我需要一个代码,它占用当前时间,减少3个小时(这样我就不会进入第4天),然后我得到TimeEnd并增加3个小时 现在我测试的问题是,如何使事件B在第3天发生?即使我使用strotime(),
Edit找到了答案,不知道使用“本周星期一”对date()有意义:D你在表中表示的时间有点奇怪。如果每个事件只发生一次(不重复,例如每周一),我建议您使用来表示时间。那你就不会有这样的问题了。每周一都会重复,这就是问题所在。为了帮助你,我们应该确切地知道你想做什么。您是否正在进行选择并决定是否应显示某个事件的投票?如果是这样,获取当前/前一天开始的时间戳,将结束时间加上30分钟,然后将结果与当前日期进行比较应该不是问题。但我只是在猜测。也许您可以提供一些您拥有的代码。
Event | TimeStart | TimeEnd | Day
A | 0800 | 1400 | 2
B | 2000 | 2300 | 3
C | 1200 | 1900 | 4