php比较两个时间流逝[重复]

Posted

技术标签:

【中文标题】php比较两个时间流逝[重复]【英文标题】:php to compare two lapses of time [duplicate] 【发布时间】:2016-08-25 02:08:56 【问题描述】:

我正在寻找一种方法来比较两个时间流逝。

如果第二次失误或部分失误在第一次失误中 -> 返回 false。 虽然,如果第一个或其中的一部分在第二个中 -> 也返回 false 。

我觉得我不必去上数学课......

我明白了

// first lapse
$a = strtotime('2016/05/04 22:50');
$b = strtotime('2016/05/20 22:15');
// second lapse
$y = strtotime('2016-05-12 12:00');
$z = strtotime('2016-05-20 10:00');

if (($y >= $a && $y <= $b) || ($z >= $a && $z <= $b)
|| ($a >= $y && $a <= $z) || ($b >= $y && $b <= $z)) 
    return false;

但它在我的大脑中很混乱。我不确定它会做它应该做的事情。 谢谢。

编辑

我发现我的问题重复了with this one

【问题讨论】:

如果您不确定是否按预期进行,我们怎么知道? 因为它是一个分享知识的论坛。我只是需要一些帮助......而且我想学习。 计算机不是魔法,我们也不是通灵者。如果你不能描述你想要的输出,和/或获得它的过程,那么即使尝试编写代码也是没有意义的。 是因为我说我在学习数学课? 【参考方案1】:

如果 $a

min($b, $z) - max($a, $y)

if < 0 - no overlap    
   = 0 - common boundary point   
   > 0 - overlap

【讨论】:

如果 > 0 不覆盖并且如果 > 0 覆盖?看起来很严重,但我不是很明白。请您补充一些解释好吗? 谢谢。错字。简单地在纸上画一下,你就会明白——段的左边的最大值是右边的,而不是右边的最小值 @AdrienLeber 你了解解决方案吗? 是的,我测试了这个解决方案。它似乎工作得很好。谢谢你的帮助,也谢谢你没有告诉我“blabla……电脑不是魔法……blabla……回到学校……blabla……” 祝你好运!很高兴为您提供帮助

以上是关于php比较两个时间流逝[重复]的主要内容,如果未能解决你的问题,请参考以下文章

php循环遍历多个数组[重复]

php几种常见排序算法

通过“大于”比较两个 Firestore 时间戳 [重复]

比较两个 char* 是不是相等[重复]

使用php获取两个日期之间的总时间差[重复]

php生成三个数字并且任意两个不重复