Ir para conteúdo

POWERED BY:

Arquivado

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

DouglaSSantoS

Problemas com soma de hora em PHP

Recommended Posts

Bom esse é meu primeiro tópico aqui e eis a questão!

Tenho um formulario com os campos Hora Inicial e Hora Final, esse formulario serve para registrar o controle de tempo de produção dos operarios aqui da empresa. Esse dados são arquivados no banco de dados em colunas com modo TIME. Bom preciso adquirir a soma total de horas pra saber o quão produtivo esta sendo o operario.

 

Exemplo:

 

Um operario inicio seu trabalho as 12:00:00 e parou as 15:00:00 pra tomar café, o total de horas trabalhado por ele ate então é de 3 horas. Digamos que as 15:30:00 ele voltou de seu almoço e trabalhou até 17:30:00, o total de horas trabalhados até então será de 2 horas. Ao final de seu dia de trabalho ele terá trabalhado 5 horas.

 

Eu preciso de um modo que eu consiga gerar esse calculo em php, se alguem poder me ajudar irei ficar muito grato. Desde já agradeço qualquer meio de ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seria: HoraFinal-HoraInicial

 

Como há uma pausa para café, então deveria haver mais um campo que poderia ser para especificar por quanto tempo ele deu uma pausa, então o cálculo ficaria assim:

 

$totalHoras = ($horaFinal-$horaInicial)-$tempoPausa;

 

Não estou te dando a solução, mas a idéia do que eu entendi. Se você postar o código aqui, acho que ficaria mais simples de entender e te ajudar.

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para os cálculos uma alternativa é você transformar as datas para unix timestamp, que vai te dar um valor inteiro dai após os cálculos você transforma para um formato "legível" novamente

 

http://php.net/manual/en/function.strtotime.php transforma data para inteiro

 

http://php.net/manual/en/function.date.php transformar de inteiro para data

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.