我正在寻找一种比较两个时间流逝的方法。
如果第二次失误或部分失误是第一次失误->返回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;
但这使我的大脑迷惑不解。我不确定它是否可以完成预期的工作。谢谢你。
编辑
我发现我的问题与此重复
如果$ a <= $ b和$ y <= $ z,则计数
min($b, $z) - max($a, $y)
if < 0 - no overlap
= 0 - common boundary point
> 0 - overlap
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句