Autor Tópico: Calcular hora  (Lida 405 vezes)

flbasto

  • Iniciante
  • **
  • Mensagens: 53
    • Email
Calcular hora
« Online: Maio 08, 2015, 10:31:18 am »
Bom dia, só gostaria de uma ideia já que voces são experientes em programação. Estou fazendo um calculo de Adicional Noturno do funcionário, onde das 22:00PM as 05:00AM conta como adicional, se o colaborador entrou 11:00, e saiu ás 01:00 por exemplo, vai ter 2 horas de adicional noturno.

Ok, funcionou perfeitamente, se o colaborador entrar as 7 e ficar até as 11, ele vai ter 1 hora de adicional noturno, mas se ele entrou as 7 e saiu as 3 eu nao consigo subtrair... pois eu faço isso:
 
if($saida > $hora_inicio){
 $sql5 = "SELECT SUBTIME(B.SAIDA, '".$hora_inicio."') AS RESULT
 FROM Projeto_Banco_Hora.BANCO_HORA AS B WHERE B.idBANCO_HORA = ".$banco_2."
 ORDER BY B.idBANCO_HORA DESC LIMIT 1";
 sc_lookup(ds3, $sql5);   
 $result = {ds3[0][0]};
 
 if($result < '07:00:00'){
 $sql6 ="UPDATE `Projeto_Banco_Hora`.`BANCO_HORA` SET `ADICIONAL_NOTURNO`= '".$result."'
 WHERE `idBANCO_HORA`= ".$banco_2."";
 sc_exec_sql($sql6);
 } else {      
  $sql7 = "UPDATE `Projeto_Banco_Hora`.`BANCO_HORA` SET `ADICIONAL_NOTURNO`= '07:00:00'
  WHERE `idBANCO_HORA`= ".$banco_2."";
  sc_exec_sql($sql7);
 }
}

Entao 3 é menor que 7, se as horas fossem 25, 26 e 27[...] por exemplo, daria certo, vocês tem alguma ideia?

Haroldo

  • Expert
  • *****
  • Mensagens: 6293
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Calcular hora
« Responder #1 Online: Maio 08, 2015, 11:44:56 am »
para fazer comparação de horas ideal é converter tudo para segundos.

Quando o tempo se inicia em um dia e termina no próximo deve concatenar os dias ao tempo.

Ideal é concatenar o mês e ano também.