Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

joaoVictorSilvaSouza

Calculo de hora

Recommended Posts

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á ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

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;
  }
 
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

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 ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.