Somar Horas no php

Enviada por vitor 
vitor
Somar Horas no php
08 de October de 2008 às 02:08PM
Olá Pessoal,

Eu tenho um sistema da empresa que gera OS, essas Os gera um tempo na hora q foi aberta ate a hora de fechamento... ai grava no BD em um campo da tabela o tempo q foi gasto... ex: 1:20:50, isso tem cliente que abre 3 OS por Dia... entaum o que não estou conseguindo fazer e calcular todas essas horas e dar o valor total que o cliente usou no mês...
alguem conhece alguma forma de fazer isso..

Obrigado.
Att
Vitor
Marcos Regis
Re: Somar Horas no php
08 de October de 2008 às 02:34PM
passos

1 - Converte as datas para TimeStamp (segundos)
2 - Calcule a diferença
3 - Converta a diferença para o formato que quiser.

ex.:

// Data inicio
$inicio = '08-10-2008 10:45:23';
$fim = '08-10-2008 11:34:54';

$diferenca = strtotime($fim) - strtotime($inicio);

echo "Total de tempo gasto = $diferenca segundos ou " . (ceil($diferenca/60) ." minutos ou " . (ceil($diferenca/3600)) ." minutos ou ". (ceild($diferenca/(3600*24))) ." horas.";
vitor
Re: Somar Horas no php
08 de October de 2008 às 02:44PM
Olá amigo,

não funcionou não...

:D
obrigado.
Marcos Regis
Re: Somar Horas no php
08 de October de 2008 às 04:58PM
Não funcionou o que??

O meu código? Realmente tem alguns erros simples de corrigir. Eu geralmente não testo os códigos que crio aqui. Apenas dou o caminho para vc adaptar a sua realidade.
Como vc não disse nem o formato da data não posso fazer mais do que isso.

Segue o código corrigido.

$inicio = '08-10-2008 10:45:23';
$fim = '08-10-2008 11:34:54';

$diferenca = strtotime($fim) - strtotime($inicio);

echo "Total de tempo gasto = $diferenca segundos ou " . (ceil($diferenca/60)) ." minutos ou " . (ceil($diferenca/3600)) ." minutos ou ". (ceil($diferenca/(3600*24))) ." horas.";
alessandro
Re: Somar Horas no php
25 de April de 2020 às 04:00PM
Marcos Regis Escreveu:
-------------------------------------------------------
> Não funcionou o que??
>
> O meu código? Realmente tem alguns erros simples
> de corrigir. Eu geralmente não testo os códigos
> que crio aqui. Apenas dou o caminho para vc
> adaptar a sua realidade.
> Como vc não disse nem o formato da data não
> posso fazer mais do que isso.
>
> Segue o código corrigido.
>
> $inicio = '08-10-2008 10:45:23';
> $fim = '08-10-2008 11:34:54';
>
> $diferenca = strtotime($fim) - strtotime($inicio);
>
> echo "Total de tempo gasto = $diferenca segundos
> ou " . (ceil($diferenca/60)) ." minutos ou " .
> (ceil($diferenca/3600)) ." minutos ou ".
> (ceil($diferenca/(3600*24))) ." horas.";

Excelente amigo salvou o dia, obrigado.
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.