0

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

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

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

因此,如果它的事件 B,我需要有一个占用当前时间的代码,将其减少 3 小时(这样我就不会进入第 4 天)然后我得到 TimeEnd 并添加 3 小时。

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

为了让事情更清楚,我正在创建一个投票投票,该投票仅在活动结束后开始,并且只持续 3 小时。

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

4

1 回答 1

0

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

于 2013-11-03T08:18:24.227 回答