我是靠谱客的博主 幸福帽子,最近开发中收集的这篇文章主要介绍php 左右两个点,php – 确定两个时间范围是否在任何点重叠,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Possible Duplicate:

07000

我想弄清楚如果PHP中的两个时间范围重叠.我最初的尝试一直指的是Determine Whether Two Date Ranges Overlap,然而,它并不匹配所有情况.如果时间范围嵌套在另一个时间范围的开始和结束时间之间,则它不匹配.如果它与班次的开始或结束重叠,或者如果班次完全匹配,则按预期工作.

看看我正在谈论的这张图片:

基本上,我试图隐藏任何橙色移位,如果它们在任何地方重叠任何红移.这是我试图用来实现这一目标的相关代码部分.

if(($red['start'] <= $orange['end']) && ($red['end'] >= $orange['start'])) {

//Conflict handling

}

变量的值是UNIX时间戳.从逻辑上理解数字,我理解为什么上面的陈述失败了.很明显,我可以采用更多逻辑来确定一个班次是否属于另一个班次(这是我可能需要做的事情),但我希望有一个更普遍的问题.

编辑:添加每个块的开始和结束时间的值.我同意我应该做的工作.它不是我的问题所在.我可能忽视了一些愚蠢的事情.

orange-start = 1352899800

orange-end = 1352907000

red-start = 1352923200

red-end = 1352926200

因此我的逻辑会说:

if((1352923200 <= 1352907000) && (1352926200 >= 1352899800))

因此,第一次比较失败.

编辑2:看起来我的逻辑是合理的(我认为是这种情况),我的问题是与UNIX时间戳相关的东西与实际显示的时间不匹配.我感谢那些和我一起工作的人,并帮助我发现这个问题.我希望我能接受安德烈和杰森的答案.

最后

以上就是幸福帽子为你收集整理的php 左右两个点,php – 确定两个时间范围是否在任何点重叠的全部内容,希望文章能够帮你解决php 左右两个点,php – 确定两个时间范围是否在任何点重叠所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(69)

评论列表共有 0 条评论

立即
投稿
返回
顶部