php比较两次时间流逝
php to compare two lapses of time
我正在寻找一种方法来比较两次流逝的时间。
如果第二次失误或部分失误在第一次失误中 -> return 错误。
虽然,如果第一个或它的一部分在第二个中 -> return 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
如果 $a <= $b 且 $y <= $z,计数
min($b, $z) - max($a, $y)
if < 0 - no overlap
= 0 - common boundary point
> 0 - overlap
我正在寻找一种方法来比较两次流逝的时间。
如果第二次失误或部分失误在第一次失误中 -> return 错误。 虽然,如果第一个或它的一部分在第二个中 -> return 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
如果 $a <= $b 且 $y <= $z,计数
min($b, $z) - max($a, $y)
if < 0 - no overlap
= 0 - common boundary point
> 0 - overlap