设置事件发生在特定时间之间

时间:2013-11-03 08:08:00

标签: php mysql

所以我有一个数据库,它有一组假设发生并在特定时间结束的事件。所以说我的桌子是(这里的事件是一个实际的事件,而不是代码的事情)

Event |  TimeStart  |   TimeEnd   |   Day
A     |     0800    |    1400     |    2
B     |     2000    |    2300     |    3
C     |     1200    |    1900     |    4

我想要的是我希望事件发生在TimeEnd和TimeEnd + 3小时之间。我遇到的问题是如果它的2300?我使用了对应于星期一(1) - 星期日(7)

的日期(N)

所以如果它的事件B,我需要一个代码占用当前时间,减少它3个小时(这样我不会去第4天)然后我得到TimeEnd并加上3个小时到它

现在我测试的问题是如何让事件B在第3天?即使我使用strtotime()事件B在经过2400小时后仍然显示第4天。

为了使事情更清楚,我正在创建一个投票调查,只在事件结束后开始,并且只持续3个小时。

编辑找到答案,不知道使用“本周一”对date()有意义:D

1 个答案:

答案 0 :(得分:0)

你在表格中表示的时间有点奇怪。如果每个事件只发生一次(例如每个星期一不再重复),我建议您使用unix timestamp来表示时间。那你就不会有这样的问题了。