Calculando diferença de hora em dias diferentes
Olá pessoal,
Tenho uma aplicação de pedido de folga que tenho que fazer um calculo de diferença de hora. Assim, o usuário tem um banco de hora em sua garga horária, ele pede uma folga das 17:0:00 até 22:00:00, a aplicação vai calcular essa diferença, o problema seria que se ele pedir folga às 22:00:00 do dia 22 até as 03:00:00 do outro dia 23, não faz esse calculo.
Já procurei na net vê se achava algo, mas nada.
Preciso de algo que faria os dois tipos de calculo, no mesmo dia ou dias diferente.
meu código calcula no mesmo dia... se tiver outra função que calcula em dias diferente eu dou um jeito de qual vai ser usado na hora do pedido.
Não passo a informação do dia, só da hora inicial e final.
function calculaTempo($hora_inicial, $hora_final) {
$i = 1;
$tempo_total;
$tempos = array($hora_final, $hora_inicial);
foreach($tempos as $tempo) {
$segundos = 0;
list($h, $m, $s) = explode(':', $tempo);
$segundos += $h * 3600;
$segundos += $m * 60;
$segundos += $s;
$tempo_total[$i] = $segundos;
$i++;
}
$segundos = $tempo_total[1] - $tempo_total[2];
$horas = floor($segundos / 3600);
$segundos -= $horas * 3600;
$minutos = str_pad((floor($segundos / 60)), 2, '0', STR_PAD_LEFT);
$segundos -= $minutos * 60;
$segundos = str_pad($segundos, 2, '0', STR_PAD_LEFT);
return "$horas:$minutos:$segundos";
}
Obrigado pessoalDiscussão (1)
Carregando comentários...