heltonritter Postado Abril 17, 2006 Denunciar Share Postado Abril 17, 2006 seguinte preciso de uma variável que me retorne quantas horas, minutos e segundosmas o que tenho me retorna "4". e aí, alguém sabe como subtrair?<?php $dataf=("11:40:00"); $dini=("7:30:00"); $result=($dataf-$dini); echo ($result);?>Deve ser algo fácil..mas não estou conseguindo..Obrigado.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Thiago Loli Postado Abril 17, 2006 Denunciar Share Postado Abril 17, 2006 Kara uma sugestão.... Eu Desenvolvi esse código...... tava com esse tipo de problema... leia ele e ve o que entende... qualquer coisa posta a sua duvida.... // isso aqui busquei no banco de dados....$horaacesso = mysql_result($horarios,0,"horaAcesso");$horasaida = mysql_result($horarios,0,"horaSaida"); list($horas_acesso,$minutos_acesso,$segundos_acesso) = explode(":", $horaacesso);$horas_acesso1 = $horas_acesso * 3600;$minutos_acesso1 = $minutos_acesso * 60; $total_acesso = $horas_acesso1 + $minutos_acesso1 + $segundos_acesso; list($horas_saida,$minutos_saida,$segundos_saida) = explode(":", $horasaida); $horas_saida1 = $horas_saida * 3600;$minutos_saida1 = $minutos_saida * 60; $total_saida = $horas_saida1 + $minutos_saida1 + $segundos_saida; $total = ($total_saida - $total_acesso); $time = ($total/3600); list($horas) = explode(".", $time);$resto_segundos = ($total % 3600);// resto da divisao por 3600$c = ($resto_segundos/60);list($minutos) = explode(".", $c);$segundos = ($total % 60); $permanencia = $horas.":".$minutos.":".$segundos;Te mais..... :) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 heltonritter Postado Abril 17, 2006 Autor Denunciar Share Postado Abril 17, 2006 essa é a lógica que eu iria iniciar a desenvolver, postei para ver se o php mesmo não tinha algo mais pronto do tipo, obriga a variável 1 e 2 ser do tipo timefaz um menos a outra e o php se encarega das conversões de minutos segundo...Andei lendo outras coisas no phpbrasil, no imasters e tal e o jeito é mesmo implementar a lógica..Esse post anterior é 80% do caminho andado. OBRIGADO!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 CorN_Sk8 Postado Abril 17, 2006 Denunciar Share Postado Abril 17, 2006 bom vou tentar fazer uma coisa mais mastigada para vocêfunction SubtrairTemp($tmpFinal, $tmpInicial){ //Calcular Final - Inicial, formato HH:NN:SS $tmpFinal = explode(":", $tmpFinal); $ss_fn = ($tmpFinal[0] * 3600) + ($tmpFinal[1] * 60) + ($tmpFinal[2]); $tmpInicial = explode(":", $tmpInicial); $ss_in = ($tmpInicial[0] * 3600) + ($tmpInicial[1] * 60) + ($tmpInicial[2]); $ss_rs = $ss_fn - $ss_in; // Agora formata novamente a data ... $nn_rs = 0; $hr_rs = 0; while($ss_rs > 59){ $ss_rs = $ss_rs - 60; $nn_rs = $nn_rs + 1; if($nn_rs>=60){ $nn_rs = 0; $hr_rs = $hr_rs + 1; } } return $hr_rs . ":" . $nn_rs . ":" . $ss_rs }na verdade fuii fazendo aqui nem testei, mas axo q ta certo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 heltonritter Postado Abril 17, 2006 Autor Denunciar Share Postado Abril 17, 2006 // Boa lógica.. # Valeu mesmo.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mario.arroyo Postado Dezembro 16, 2009 Denunciar Share Postado Dezembro 16, 2009 Olá amigo!PHP faz isso!São as funções strtotime(), mktime() e date().Por exemplo:Suponhamos as seguintes datas/horas vindas de uma base de dados MySQL:data_login -> 2009-12-15 12:00:10data_logout -> 2009-12-15 13:30:00Para sabermos o tempo que o usuário permaneceu conectado então, deveriamos subtrair a hora de "data_login" da hora de "data_logout".O código ficaria dessa forma...<?php $data_login = strtotime('2009-12-15 12:00:10'); $data_logout = strtotime('2009-12-15 13:30:00'); $tempo_con = mktime(date('H', $data_logout) - date('H', $data_login), date('i', $data_logout) - date('i', $data_login), date('s', $data_logout) - date('s', $data_login)); print date('H:i:s', $tempo_con); ?>Onde o resultado exibido na tela será exatamente 01:29:50.Abraços! :rolleyes: Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
heltonritter
seguinte preciso de uma variável que me retorne quantas horas, minutos e segundos
mas o que tenho me retorna "4".
e aí, alguém sabe como subtrair?
<?php
$dataf=("11:40:00");
$dini=("7:30:00");
$result=($dataf-$dini);
echo ($result);
?>
Deve ser algo fácil..mas não estou conseguindo..
Obrigado..
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
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.