Ir para conteúdo
Fórum Script Brasil
  • 0

Somar horas


Scripter

Pergunta

Ola povo!

Éh o següinte, tenho um BD com uma tabela chamada atividades, dentro dessa tabela, existem 6 campos, entre eles, 1 chamado tempo, tenho uma página com um script que pega esses valores (os 6) e os insere em uam tabela, beleza... tenho tmb um script que soma a distância total (um dos 6 campos), ok, até ai simples, agora quero um que some a hora, se fosse só soma até vala, mais como fze pra ele sabe q quando chega em 60 é pra aumentar 1 na hora e bota o resto nos minutos??

traduzindo, como eu somo horas extraidas de um bd...

ops, na verdade, no bd, existem os campos min e hora, ou seja, os minutos e a hora são separados, n sei se isso ajuda em algo...

já procurei na net mais nada q resolva meu caso...

vlw povo

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0
Link para o comentário
Compartilhar em outros sites

  • 0

aff n da, oia.. eu ponho assim mktime(4,5) <-- 4 horas e 5 minutos.

ok, ele retorna o valor em segundos...

divido por 60 pra da os minutos, divido por 60 d novo pra da horas, memo assim ele retorna 500 mil numero, aff q saco, eu só quero soma 2 horas, será q é tão difícil assim >.<?

Link para o comentário
Compartilhar em outros sites

  • 0

Justamente por não saber que quando chega em 60 segundos vale um minuto e o mesmo pra minuto e hora é que transforma-se tudo em segundo.. Depois, somam-se os segundos e vai dividindo.

Sim.. É dessa forma que tem que ser feito.. E não é "tão difícil assim >.<"...

Link para o comentário
Compartilhar em outros sites

  • 0

Deus! Leia o manual!

<?php
    $inicio = mktime(0,0);
    $fim = mktime(5,31);
    $diferenca = $fim - $inicio;
    $hora = floor($diferenca/3600);
    $minutos = (($diferenca%3600)/3600)*60;
    if($hora<10)
        $hora = "0".$hora;
    if($minutos<10)
        $minutos = "0".$minutos;
    echo "$hora:$minutos";
?>

:ninja:

Link para o comentário
Compartilhar em outros sites

  • 0

O "problema" do manual é que ele pressupõe que a pessoa que está consultando sabe PHP, como você claramente ainda é um mero empilhador de código (que é bem diferente de programador), não entende o que lê lá, no topo do manual está assim:

int mktime ([ int $hora [, int $minuto [, int $second [, int $mes [, int $dia [, int $ano [, int $is_dst ]]]]]]] )

Tudo que está entre [ ] é opcional... ou seja, eu posso informar apenas a hora e nada mais, a hora e o minuto e mais nada, etc... assim que você aprender a programar de verdade vai ver que não é necessário "adivinhar" nada, é só uma questão de se ter um conhecimento básico da coisa.

Link para o comentário
Compartilhar em outros sites

  • 0

agradeço muito o elogio...

resolvi da seguinte maneira, somei as horas, multipliquei-as por 60 pra transforma elas em minutos e somei aos minutos, e esses minutos eu usei em uma função que eu criei:

<?
function dhora($min){
$hora = 0;
         if($min >= 60){
         while($min >= 60){
         $min = $min - 60;
         $hora++;
         }
         }
         else
         {
         $hora = 0;
         $min = $min;
         }
$_SESSION['hora'] = $hora;
$_SESSION['minuto'] = $min;
}
?>

posso se um empilhador de código, mais pelo menos n xingo os otros quando eles n conseguem algo...

edit: eu tenho 13 anos...

Editado por Scripter
Link para o comentário
Compartilhar em outros sites

  • 0
agradeço muito o elogio...

resolvi da seguinte maneira, somei as horas, multipliquei-as por 60 pra transforma elas em minutos e somei aos minutos, e esses minutos eu usei em uma função que eu criei:

<?
function dhora($min){
$hora = 0;
         if($min >= 60){
         while($min >= 60){
         $min = $min - 60;
         $hora++;
         }
         }
         else
         {
         $hora = 0;
         $min = $min;
         }
$_SESSION['hora'] = $hora;
$_SESSION['minuto'] = $min;
}
?>

posso se um empilhador de código, mais pelo menos n xingo os otros quando eles n conseguem algo...

edit: eu tenho 13 anos...

Cadê o xingamento, cadê a ofensa?

Ele está simplesmente falando a verdade, devemos mentir para sermos educados? (não que eu veja como uma ofensa, já fui um "empilhador de código" e o ESerra deve ter sido também)

E ainda qual a sua finalidade ao informar sua idade? Comecei a programar com 11 anos e já tinha uma boa base de PHP com 12 anos. Idade não significa limitação.

Abraços.

Link para o comentário
Compartilhar em outros sites

  • 0
não que eu veja como uma ofensa, já fui um "empilhador de código" e o ESerra deve ter sido também)

Todo mundo que aprende uma linguagem tem a sua época de empilhador, faz parte do processo de aprendizado, querendo ou não no começo o cara acaba pegando uns códigos que olha, não entende mas acaba usado porque faz o que precisa, e ai vai "empilhando" eles... até chegar num ponto que entende o que o código faz e geralmente descobre que existe uma maneira muito mais simples e óbvia para realizar o que queria.

Link para o comentário
Compartilhar em outros sites

  • 0

Opa! Nem vi o POST!

Serra, tu tens razão. Eu também não pensei que ele não sabia ler o manual, desculpe-me.

Scripter, eu fiz o código para você. Use-o com carinho. Qualquer coisa, por favor, entre em contato.

Abraços!

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...