Ir para conteúdo
Fórum Script Brasil
  • 0

Dificuldade para calcular Hora


Carlos Arruda

Pergunta

Prezados, aqui estou novamente!

Bom mas agora meu problema é o seguinte.

Tenho um arquivo php que registra o ponto dos funcionarios, registra a diferença da saida mais cedo e dos atrasos.

Ex:

data 27/05/2010

entrei para trabalhar as 08:10 e meu horario de entrada é as 08:00 ele registra numa tabela de atraso os 10 minutos

Sai mais cedo tinha que sair as 18:00 e sai as 15:00 ele registra no banco 03:00 como atraso

Porem temos um funcinario que entra as 15:30 e larga as 01:30 do dia seguinte, so que um certo dia ele saiu mais cedo do trabalho tipo que ele saiu as 23:00 levando em considereçao ao calculo que faço que se a hora de saida for menor que a hora que ele realmente tem que sair ele insere no banco.

Porem neste caso ele nunca vai inserir pois a hora que ele esta saindo é maior, mas em contrapartida ele esta saindo mais cedo.

alguém tem alguma ideia de como eu devo proceder para fazer isso?

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

ESerra,

na verdade ai ta um problema bem grande pelo seguinte fato.

Na hora de se cadastrar os funcionarios é cadastrado a hora de entrada e saida.

quando vou fazer o calculo eu pego a hora que ele ta saindo e gravo em uma variavel ai pego a hora que ele deveria sair e comparo.

se a hora que ele esta saindo for menor que a hora que ele deveria sair faz se a subtraçao entre um e outro.

então não conseguirei trabalhar dessa forma com data, pois como eu disse na tabela funcinario somente gravo a hora de entrada e saida, na tabela status ele grava a hora e a saida do evento.

Link para o comentário
Compartilhar em outros sites

  • 0

Carlos,

Uma gambiarra que só vai funcionar se você estiver trabalhando um 24 horas (e não 12 + 12 horas).

- Valide antes se a hora de saída é menor que a hora de entrada do funcionário;

- Caso positivo, some 24 à hora de saída;

- Faça o mesmo para as horas do evento (entrada e saída do dia... presumo);

- Aí depois realize a subtração das horas e você saberá se o cara se atrasou ou não.

Agora é só colocar esses passos acima em código.

Tenta aí e posta o que aconteceu.

Link para o comentário
Compartilhar em outros sites

  • 0

Woody,

pensei nisso tambem, mesmo prq ninguém faz mais de 24 horas de trabalho. Veja o codigo abaixo ele faz o calculo se a hora de saida for menor que a hora que deveria sair.

onde a variavel ($status_sd) é a hora que ele esta saindo e ($hr_saida) é a hora que ele deveria sair esse ai se a hora que o funcionario esta saindo ta certinho, mas não consegui adicionar 24 horas para fazer esse calculo.

if(($status_sd < $hr_saida) && ($he_status==1) && ($sd_status!=1) && ($res_saida==1)){

$horadiff=strtotime($hr_saida)-strtotime($status_sd);

$finaliza_saida=date("H:i",$horadiff);

$insere_atraso_sd="INSERT INTO tbl_atraso (nome,login,data,status,hora,tempo,modulo) VALUES ('$nome_usr','$login_usr','$data','Saida','$hora','$finaliza_saida','$modulo_usr')";

$insere_he=mysql_query($insere_atraso_sd);

}

Link para o comentário
Compartilhar em outros sites

  • 0

Bom,

Nesse caso não será possível utilizar as funções de hora... apenas variáveis inteiras...

Sugiro uma mudança para variáveis separando hora e minuto, ou inserindo uma data aí.... pois quando você for somar 24 horas, vai para o dia seguinte e o cálculo funcionará...

Não posso fazer um exemplo agora... mas com poucas alterações no seu código dá para fazer...

Utilize as funcões de data tb... tipo date, mktime etc....

Boa sorte... qualquer coisa posta aí.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...