我有空闲时间,任何给定的员工现在都从他们的日历中提取到一个多维数组中,其中每个 [i][] 是一对日期,表示开始时间 [i][0] 和结束时间 [ i][1] 的空闲时间块。我需要把它分成块的开始时间和结束时间之间的 20 分钟间隔,并以该格式返回所有时间。现在我只是不断地重复修改同一个对象,但是为了正确的迭代次数,它让我发疯......希望你们能帮忙。
我已经尝试了我的 C++ 知识库提供的所有内容,但我猜 php 使用对象作为参考,我找不到解决方法。
$test = array_chunk($times, 2);
$i = 0;
$end_test = count($times)/2;
$free_slots = array();
$interval = '+20 minutes';
array_push($free_slots, $test[0][0]);
for($i=0;$i<$end_test;$i++){
$test1 = clone $test[$i][0];
$test2 = clone $test[$i][1];
while($test1<=$test2){
$test1->modify($interval);
array_push($free_slots, $test1);
}
}
所以在我把日期配对成对联并运行我第一次粘贴的代码是正确的之后,它就变得混乱了:
08:00:00.000000",10:20:00.000000", 10:20:00.000000", 10:20:00.000000", 10:20:00.000000", 10:20:00.000000", 10:20:00.000000", 10:20:00.000000", 12:20:00.000000", 12:20:00.000000", 12:20:00.000000", 12:20:00.000000", 16:20:00.000000", etc...
并且为空闲块存储了开始和结束时间的日期时间对象数组如下所示:
[0][0]="2019-08-14 08:00:00.000000"
[0][1]="2019-08-14 10:00:00.000000"
[1][0]="2019-08-14 11:00:00.000000"
[1][1]="2019-08-14 12:00:00.000000"
[2][0]="2019-08-14 13:00:00.000000"
[2][1]="2019-08-14 16:00:00.000000"
[3][0]="2019-08-14 17:00:00.000000"
[3][1]="2019-08-14 19:00:00.000000"
忽然笑
慕妹3242003