Bom dia! Preciso realizar um calculo que me retorne a quantidade de horas que uma maquina ficou parada, em meu banco de dados tenho dois campo data/minutos, que são de data parada e data retorno, os mesmos estão no seguinte formato:
$dataIni = '201704120850' ;
$dataFim = '201704120955';
Até ai consigo fazer o cálculo com a seguinte função:
$dtIni = '201704120850';
$dtFim = '201704120955';
$datatime1 = new DateTime($dtIni);
$datatime2 = new DateTime($dtFim);
$data1 = $datatime1->format('Y-m-d H:i:s');
$data2 = $datatime2->format('Y-m-d H:i:s');
$data1 = strtotime($data1);
$data2 = strtotime($data2);
$nHoras = ($data2 - $data1) / 3600;
$nMinutos = (($data2 - $data1) % 3600) / 60;
$total = sprintf('%02d:%02d', $nHoras , $nMinutos);
echo $total;
O problema agora é que preciso levar em consideração apenas o horário de funcionamento das maquinas que seria das 07:30 até 12:00 e das 13:30 as 17:48, e desconsiderar os sábados, domingos e feriados.