- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一组时间戳和持续时间以及一组占用的时间戳。我现在需要检查这些时间戳是否冲突。
基本上 $start[] 不能在任何 $occupied[] 时间戳中
$start[0] = 1486987200; // 12:00
$duration[0] = 3600;
$start[1] = 1487008800; // 18:00
$duration[1] = 7200;
$occupied[0] = 1486989000; // 12:30
$ocDuration[0] = 3600;
$occupied[1] = 1487019600; // 21:00
$ocDuration[1] = 7200;
从上面的$start[0]
是不可能的,因为$occupied[0]
在1小时(3600秒)的范围内,但是 $start[1]
是可能的,因为它从 18:00 开始,并在 2 小时后结束。
另一种情况可能是当 $occupied[0]
与 $start[]
重叠时:
所以问题是,我该如何进行这样的检查?
最佳答案
如果你将使用 $start 和 $duration 作为非数组变量,你可以使用下面的这个。否则,只需编写一个双 for 循环即可。
$start[0] = 1486987200; // 12:00
$duration[0] = 3600;
$start[1] = 1487008800; // 18:00
$duration[1] = 7200;
$occupied[0] = 1486989000; // 12:30
$ocDuration[0] = 3600;
$occupied[1] = 1487019600; // 21:00
$ocDuration[1] = 7200;
$occupied[2] = 1486989000; // 12:30
$ocDuration[2] = 23400;
function checkOccupancy($start, $duration, $occupied, $ocDuration){
$ocLength = count($occupied);
for($i = 0; $i <= $ocLength; $i++){
$ocEnd = $occupied[$i] + $ocDuration[$i];
$end = $start + $duration;
if(($start > $occupied[$i] && $start < $ocEnd) || ($end > $occupied[$i] && $end < $ocEnd) ){
return "Not Possible";
}
}
return "Possible";
}
echo checkOccupancy($start[0], $duration[0], $occupied, $ocDuration);
echo checkOccupancy($start[1], $duration[1], $occupied, $ocDuration);
关于php - 如果时间戳范围在时间戳范围内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42199557/
给定一个带有多个 date_time 戳的字符串,我想 提取第一个戳及其前面的文本 候选字符串可以有一个或多个时间戳 后续的 date_time 戳记将被 sep="-" 隔开 后续date_time
是否可以合并从相机拍摄的文本和照片?我想在照片上标记日期和时间,但我在 Google 上找不到任何内容。 最佳答案 使用下面的代码来实现你所需要的。 Bitmap src = Bitm
有没有办法通过 Graph API 戳另一个用户?基于this post ,并使用 Graph Explorer ,我发布到“/USERID/pokes”,我已经授予它(Graph API 应用程序和
我有两个向左浮动的元素。一个是 body 的第一个 child ,另一个是容器的第一个 child ,容器是 body 的第二个 child 。 ...
我是一名优秀的程序员,十分优秀!