Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将事件设置为在特定时间之间发生_Php_Mysql - Fatal编程技术网

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

Php 将事件设置为在特定时间之间发生,php,mysql,Php,Mysql,所以我有一个数据库,它有一组假设在某个时间发生和结束的事件。假设我的表是(这里的事件是一个实际事件,而不是代码) 我想要的是,如果事件发生在TimeEnd和TimeEnd+3小时之间,我希望事件发生。我遇到的问题是如果是2300呢?我使用了日期为N的日期,对应于星期一(1)-星期日(7) 因此,如果是事件B,我需要一个代码,它占用当前时间,减少3个小时(这样我就不会进入第4天),然后我得到TimeEnd并增加3个小时 现在我测试的问题是,如何使事件B在第3天发生?即使我使用strotime(),

所以我有一个数据库,它有一组假设在某个时间发生和结束的事件。假设我的表是(这里的事件是一个实际事件,而不是代码)

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

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

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

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


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

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

每周一都会重复,这就是问题所在。为了帮助你,我们应该确切地知道你想做什么。您是否正在进行选择并决定是否应显示某个事件的投票?如果是这样,获取当前/前一天开始的时间戳,将结束时间加上30分钟,然后将结果与当前日期进行比较应该不是问题。但我只是在猜测。也许您可以提供一些您拥有的代码。
Event |  TimeStart  |   TimeEnd   |   Day
A     |     0800    |    1400     |    2
B     |     2000    |    2300     |    3
C     |     1200    |    1900     |    4