alexandremanowar Postado Março 27, 2007 Denunciar Share Postado Março 27, 2007 E aí pessoal belezaEstou tentando fazer um calculo de horas aqui e esta meio complicado, já fiz alguns tipos de cálculos mas esse esta me quabrando o coco, já calculei datas e horas das seguintes formas:$data = date("Y-m-d"); $hora = date("H:i:s"); echo date("H:i:s d/m/Y", strtotime("$data $hora +12 hour")); $data = date("Y-m-d"); $hora = date("H:i:s"); echo date("H:i:s d/m/Y", strtotime("$data $hora +1 year")); $data = date("Y-m-d"); $hora = date("H:i:s"); echo date("H:i:s d/m/Y", strtotime("$data $hora +12 day")); E assim vai, mas o que eu preciso fazer agora é o seguinte existe uma data e hora de incio tipo $data_inicio = "2007-03-27"; $hora_inicio = "12:00:00"; $data_fim = "2007-03-31"; $hora_fim = "14:30:00";Eu preciso pegar esse período e chegar em dois resultados:1) qual o total desse período em horas? Nesse caso seria 98:30 horas2) qual o total desse período em horas e dia? nessa caso o resultado seria 4 dias e 2:30:00Já tentei várias lógicas e não consegui.Alguém sabe como fazer isso? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Visitante Postado Março 27, 2007 Denunciar Share Postado Março 27, 2007 dá uma olhada aqui Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 alexandremanowar Postado Março 28, 2007 Autor Denunciar Share Postado Março 28, 2007 Cara eu li essa sua função mas não esta funcionando, porpem eu também não estou entendo como ela funciona. Eu tentei fazer de outras formas dei mais uma procurada no php.net, mas até agora não consegui resolver o problema.Alguém tem um modo diferente de fazer isso? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Beraldo Postado Março 28, 2007 Denunciar Share Postado Março 28, 2007 Veja se ajuda:http://scriptbrasil.com.br/forum/index.php?showtopic=91365Abraços,Beraldo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 alexandremanowar Postado Março 28, 2007 Autor Denunciar Share Postado Março 28, 2007 E aí pessoal belezaLendo os links que vocês deixaram e olhando o php.net e com o conselho de um amigo estou tentando usar a a função strtotime, o que eu preciso conseguir agora é tratar o resultado para ele ficar em horas, olha um dos teste que realizei:levando por base esse código:$date = strtotime("10/23/2007 10:00"); $dateTo = strtotime("10/31/2007 12:00"); $teste = $dateTo - $date; // aqui voce já tem o intervalo, agora é tratar ! echo "$teste"; A variável teste fica com esse valor: 698400, logo acredito eu que esse número seja segundos então estou tentando tratar da seguinte forma: $date = strtotime("10/23/2007 10:00"); $dateTo = strtotime("10/31/2007 12:00"); $teste = $dateTo - $date; // aqui voce já tem o intervalo, agora é tratar ! $teste = $teste/60/24; echo "$teste";porém ele me deu 485 o que esta errado pois o valor deveria ser 194, eu estou entendo errado ou estou tratando errado? Fiz outras modos mas os resultados foram piores. Você poderia me explicar? Obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Março 28, 2007 Denunciar Share Postado Março 28, 2007 Essa linha:$teste = $teste/60/24;Você tem que dividir 2x por 60...$teste = $teste/60/60; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 alexandremanowar Postado Março 29, 2007 Autor Denunciar Share Postado Março 29, 2007 Entendi cara eu estava fazendo pelas horas e no caso é pelos segundos, mas eu tenho outra dúvida, nesse caso eu tenho as horas inteiras e se eu tiver as horas quebradas, tipo dessa forma:$date = strtotime("10/23/2007 10:12"); $dateTo = strtotime("10/31/2007 12:36"); $teste = $dateTo - $date; // aqui voce já tem o intervalo, agora é tratar ! $teste = $teste/60/60; //ou $teste = $teste/3600 echo "$teste";ele vai dar o seguinte resultado:194.4Como eu faço para ficar as horas e os minutos no formato 99:99 ?nesse caso o resultado certo seria 194:24 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Março 29, 2007 Denunciar Share Postado Março 29, 2007 Pega o que tiver depois da vírgula e faz regra de três... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 alexandremanowar Postado Março 29, 2007 Autor Denunciar Share Postado Março 29, 2007 Cara valeu pela força.Mas encomodando mais um pouco acho que não entendo a regra de três que você mencionou rssr soui meio lerdo, por exemplo eu peguei o que esta depois da vírgula dessa forma:$minutos = explode(".",$teste); $minutos = $minutos[1];Assim eu tenho o que esta depois do ponto mas não consegui transformar isso nos minutos que no caso seriam 24 minutos o resultado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Março 29, 2007 Denunciar Share Postado Março 29, 2007 Regra de três, se uma hora de 60 minutos 0.horas vai ter X minutos... veja que o que vem depois do ponto terá que ter o 0. adicionado na frente... ou seja:$minutos = "0.".$minutos[1]; $minutos_final = $minutos*60;Claro que isso, se o número após a vírgula tiver mais de uma casa, também vai trazer resultados quebrados, mas dai você usa round, ceil ou floor de acordo com o que achar mais conveniente... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 alexandremanowar Postado Março 29, 2007 Autor Denunciar Share Postado Março 29, 2007 Cara entendi valeu pela força, obrigado e at+ Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
alexandremanowar
E aí pessoal beleza
Estou tentando fazer um calculo de horas aqui e esta meio complicado, já fiz alguns tipos de cálculos mas esse esta me quabrando o coco, já calculei datas e horas das seguintes formas:
E assim vai, mas o que eu preciso fazer agora é o seguinte existe uma data e hora de incio tipoEu preciso pegar esse período e chegar em dois resultados:
1) qual o total desse período em horas? Nesse caso seria 98:30 horas
2) qual o total desse período em horas e dia? nessa caso o resultado seria 4 dias e 2:30:00
Já tentei várias lógicas e não consegui.
Alguém sabe como fazer isso?
Link para o comentário
Compartilhar em outros sites
10 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.