function difDeHoras($hIni, $hFinal)
{
// Separa á hora dos minutos
$hIni = explode(':', $hIni);
$hFinal = explode(':', $hFinal);
// Converte a hora e minuto para segundos
$hIni = (60 * 60 * $hIni[0]) + (60 * $hIni[1]);
$hFinal = (60 * 60 * $hFinal[0]) + (60 * $hFinal[1]);
// Verifica se a hora final é maior que a inicial
if(!($hIni < $hFinal)) {
return false;
}
// Calcula diferença de horas
$difDeHora = $hFinal - $hIni;
//Converte os segundos para Hora e Minuto
$tempo = $difDeHora / (60 * 60);
$tempo = explode('.', $tempo); // Aqui divide o restante da hora, pois se não for inteiro, retornará um decimal, o minuto, será o valor depois do ponto.
$hora = $tempo[0];
@$minutos = (float) (0) . '.' . $tempo[1]; // Aqui forçamos a conversão para float, para não ter erro.
$minutos = $minutos * 60; // Aqui multiplicamos o valor que sobra que é menor que 1, por 60, assim ele retornará o minuto corretamente, entre 0 á 59 minutos.
$minutos = explode('.', $minutos); // Aqui damos explode para retornar somente o valor inteiro do minuto. O que sobra será os segundos
$minutos = $minutos[0];
//Aqui faz uma verificação, para retornar corretamente as horas, mas se não quiser, só mandar retornar a variavel hora e minutos
if (!(isset($tempo[1]))) {
if($hora == 1){
return $hora*60;
} else {
return $hora*60;
}
} else {
if($hora == 1){
if($minutos == 1){
return $hora*60+$minutos;
} else {
return $hora*60+$minutos;
}
} else {
if($minutos == 1){
return $hora*60+$minutos;
} else {
return $hora*60+$minutos;
}
}
}
}
function converteHorasEmMinutos($horas) {
$t = explode(".", $horas);
$h = $t[0];
if(isset($t[1])) {
$m = $t[1];
}else{
$m = "00";
}
$mm = ($h * 60);
return $mm;
}
function converteMinutosEmHoras($time, $format = '%02d:%02d') {
if ($time < 1) {
return;
}
$hours = floor($time / 60);
$minutes = ($time % 60);
return sprintf($format, $hours, $minutes);
}
$loopManha = difDeHoras($configuracao->horario_ini, $configuracao->horario_alm_ini)/$configuracao->timer;
$loopTarde = difDeHoras($configuracao->horario_alm_fim, $configuracao->horario_fim)/$configuracao->timer;
?>
<?php
$horarioManha = converteHorasEmMinutos($configuracao->horario_ini);
$x = 0;
while($x < $loopManha-1) {
$x++;
$horarioManha = $horarioManha+5;
$horarioManhaH = converteMinutosEmHoras($horarioManha);
?>
<option value="<?=$horarioManha?>" data-subtext="Manhã"><?=$horarioManhaH?></option>
<?php
}
?>