php – 识别日期和时间阵列的冲突
发布时间:2020-12-13 16:45:15 所属栏目:PHP教程 来源:网络整理
导读:我已经检查了其他SO问题,但似乎无法找到与此相关的任何内容 – 如果我错过了某些内容,请指出正确的方向. 我目前有以下数组包含日期和时间(请求的会议时间): Array ( [0] = day = 'Thursday',start_time = '14:00',end_time = '15:00' [1] = day = 'Thursday
我已经检查了其他SO问题,但似乎无法找到与此相关的任何内容 – 如果我错过了某些内容,请指出正确的方向.
我目前有以下数组包含日期和时间(请求的会议时间): Array ( [0] => day => 'Thursday',start_time => '14:00',end_time => '15:00' [1] => day => 'Thursday',start_time => '16:30',end_time => '17:30' ) 用户需要参加这两次.我试图做的是与包含用户当前约会的另一个数组进行比较,并检测是否存在冲突/时间重叠问题 Array ( [0] => day => 'Monday',start_time => '09:00',end_time => '13:00' [1] => day => 'Wednesday',start_time => '10:45',end_time => '11:15' [2] => day => 'Thursday',start_time => '16:45',end_time => '17:45' ) 使用上面的例子,我想确定第二个时隙[1] =>存在冲突.与第三个时段冲突的第一个阵列(拟议会议)[2] =>第二个阵列(当前会议) 我见过带有时间戳和完整日期的示例,但不仅仅是天和开始/结束时间. 解决方法
如果它们都在数据库中,则冲突查询可能如下所示:
SELECT `plan`.* FROM `plan` JOIN `current` ON `plan`.`day`=`current`.`day` WHERE `plan`.`start_time` < `current`.`end_time` AND `plan`.`end_time` > `current`.`start_time` 其中current是具有当前计划的表,而计划是具有用户计划的表.我没有测试这个只是因为我没有一个例子,但是这应该返回日期相同且计划时间与当前时间重叠的行. 编辑:如果不需要,你可能还想做像标记当前为暂定的东西.你可以把它放到查询where子句中. 还是>和<意味着开始和结束分钟不包括在内.所以如果一个人在另一个人开始的同时结束,这不会将他们标记为冲突.如果您希望开始/结束分钟包含在内,请将它们更改为> =和< =. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |