Ir para conteúdo

POWERED BY:

Arquivado

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

Full Burn

[Resolvido] Soma de horas

Recommended Posts

Boa tarde a todos,

 

Tenho um sistema de ponto eletrônico que utiliza a seguinte tabela no banco:

 

codigo (identificador)

funcionario (codigo do funcionario)

horario (datetime com data e hora do evento)

tipo (E = entrada ou S = saída)

 

Os funcionários registram 4 pontos por dia sendo:

 

Entrada de manhã

Saída para almoço

Entrada à tarde

Saída ao fim do expediente

 

Portanto, para um único dia temos os registros:

 

1;3;2008-12-01 08:00:00;E

2;3;2008-12-01 12:00:00;S

3;3;2008-12-01 14:00:00;E

4;3;2008-12-01 18:00:00;S

 

Preciso agora fazer um cálculo automático para saber quantas horas o funcionário trabalhou dentro do mês.

 

Estou tentando pegar todos os regitros dentro do mês e somar todas as horas de entrada e todas as horas de saída para depois fazer saídas - entradas para ter o total de horas trabalhadas (no Excel funciona que é uma beleza).

 

Porém, quando a soma passa de 24 horas, o resultado inclui data.

 

Por exemplo, se eu somar duas horas de entrada como 08:00:00 + 16:05:00, o resultado final é 31/12/1899 00:05:00.

 

Como fazer com que o resultado seja correto, o que neste caso seria 24:05:00?

 

Agradeço qualquer ajuda.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Utilize a função "dateDiff()" para pegar a diferença entre um horário e outro.. ai vá somando essas diferenças ao longo do mes..

 

Abraços..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para somar horas, você vai ter que converter em segundos.

 

Dê uma olhada no Laboratório de Scripts, pois postei uma função lá que faz isso.

 

Qualquer dúvida poste aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado Darkdemo e hargon.

 

Cheguei a usar o Datediff, mas teria que calcular dia por dia para depois somar.

 

A função do hargon serviu perfeitamente para o que eu queria.

 

Muito obrigado aos dois e parabéns ao hargon pela função.

 

[]'s

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.