Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá , boa tarde , estou com um problema , no sistema de estacionamento eu gostaria que fizesse a seguinte funcao , durante os primeiros 10 min o cliente nao paga , apos esse tempo o cliente paga o valor referente a hora do estacionamento , apos passar 1h os 10 primeiros minutos da outra hora tbm nao paga , so paga apos 10min , e assim vai , eu fiz um codigo , mas ele nao funciona perfeitamente , segue abaixo:
$entrada = strtotime($hr_entrada);
$saida = time(); // Agora
$total_em_segundos = $saida - $entrada;
$horas = ($total_em_segundos / 3600) + 1;
$minutos = $total_em_segundos / 60; }
for ($i = 0; $i < $minutos ; $i++){
if ( $minutos > 60 ) {
$minutos = $minutos - 60; }
** @$valorFracao = round( @$total * @$horas ) ;**
if( $minutos < 10 and $total == $total ) { $valorFracao = 0 ; }
if ( $minutos > 10 and $total == $total) { $valorFracao = $total; } }
bom , eu gostaria da ajuda de vcs , pois nao sou muito bom ! Obrigado desde já ;)
segue uma ideia tente adaptar para a sua necessidade
<?php
// como exemplo usaremos dados préfixados
print "<br>Hora Inicial = ".$horaInicial = "11:46:00";
print "<br>Hora Final = ".$horaFinal = date("H:i:s");
// convertendo as horas para segundos
$horaInicial = strtotime($horaInicial);
$horaFinal = strtotime($horaFinal);
// obtendo o tempo de permanencia no etacionamento
print "<br><br>Tempo em segundos dentro do estacionamento = ".$totalSegundos = ($horaFinal - $horaInicial);
/*E para que tudo saia num formato bunitinhu...te messa função aí para converter ...*/
print "<br>Tempo em Horas = ".$hora = converterHora($totalSegundos);
print "<br>";
print "Total a pagar: ";
if($totalSegundos < 600){
print "Gratis";
}
if($totalSegundos >= 600 and $totalSegundos < 4200){
print "1 hora";
}
if($totalSegundos >= 4200 and $totalSegundos < 7800){
print "2 hora";
}
/// função para converter dadas
function converterHora($total_segundos){
$hora = sprintf("%02s",floor($total_segundos / (60*60)));
$total_segundos = ($total_segundos % (60*60));
$minuto = sprintf("%02s",floor ($total_segundos / 60 ));
$total_segundos = ($total_segundos % 60);
$hora_minuto = $hora.":".$minuto;
return $hora_minuto;
}
?>O que lhe falta é lógica de programação e não um código pronto.
>
segue uma ideia tente adaptar para a sua necessidade
<?php
// como exemplo usaremos dados préfixados
print "<br>Hora Inicial = ".$horaInicial = "11:46:00";
print "<br>Hora Final = ".$horaFinal = date("H:i:s");
// convertendo as horas para segundos
$horaInicial = strtotime($horaInicial);
$horaFinal = strtotime($horaFinal);
// obtendo o tempo de permanencia no etacionamento
print "<br><br>Tempo em segundos dentro do estacionamento = ".$totalSegundos = ($horaFinal - $horaInicial);
/*E para que tudo saia num formato bunitinhu...te messa função aí para converter ...*/
print "<br>Tempo em Horas = ".$hora = converterHora($totalSegundos);
print "<br>";
print "Total a pagar: ";
if($totalSegundos < 600){
print "Gratis";
}
if($totalSegundos >= 600 and $totalSegundos < 4200){
print "1 hora";
}
if($totalSegundos >= 4200 and $totalSegundos < 7800){
print "2 hora";
}
/// função para converter dadas
function converterHora($total_segundos){
$hora = sprintf("%02s",floor($total_segundos / (60*60)));
$total_segundos = ($total_segundos % (60*60));
$minuto = sprintf("%02s",floor ($total_segundos / 60 ));
$total_segundos = ($total_segundos % 60);
$hora_minuto = $hora.":".$minuto;
return $hora_minuto;
}
?>
Muito obrigado , adaptei as minhas necessidades e deu certo ! Obrigado ;)
ninguem sabe de algum codigo de estacionamento com padroes e calculos iguais ou semelhantes nao ?