Ari*_*jay 4 php datetime php-5.3
我想创建包含开始,结束时间和休息时间的时隙.
public function getServiceScheduleSlots($duration,$break, $stTime,$enTime)
{
$start = new DateTime($stTime);
$end = new DateTime($enTime);
$interval = new DateInterval("PT" . $duration. "M");
$period = new DatePeriod($start, $duration, $end);
foreach ($period as $dt) {
$periods[] = $dt->format('H:iA');
}
return $periods;
}
Run Code Online (Sandbox Code Playgroud)
例如,
我的服务开始时间为上午10:00,结束时间中午12:00.
条件: 每个服务时间30分钟和15分钟休息.
上面的方法返回如,
预期结果为,
我想在每个时段开始时添加休息时间.
提前致谢.
这个怎么样....
function getServiceScheduleSlots($duration,$break, $stTime,$enTime)
{
$start = new DateTime($stTime);
$end = new DateTime($enTime);
$interval = new DateInterval("PT" . $duration. "M");
$breakInterval = new DateInterval("PT" . $break. "M");
for ($intStart = $start;
$intStart < $end;
$intStart->add($interval)->add($breakInterval)) {
$endPeriod = clone $intStart;
$endPeriod->add($interval);
if ($endPeriod > $end) {
$endPeriod=$end;
}
$periods[] = $intStart->format('H:iA') .
' - ' .
$endPeriod->format('H:iA');
}
return $periods;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1992 次 |
最近记录: |