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

Horas


bush

Pergunta

galera boa tarde !

bom to prescisando comparar a diferença entre 2horas e retorna o valor exato das horas sem minutos e segundos.

a principio montei assin:

<?

$hora1="24:20:00";

$hora2="12:20:00";

$tick=$hora1-$hora2;

echo "você está a $tick horas se acessar o sistema";

?>

ate faz o que eu presciso por ser bem simples o que quero, esses valores hora1 e hora 2 o hora 1vai vir do banco.

porén tem uma duvida:

quando alterei a hora1 pra 00:20:00 deu um resultado negativo pois ele não interpreta que 00:00:00 é = a 24:00:00 alguém sabe me da uma dica pra eu resolver esse problema?

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Para calcular diferenças entre datas você tem que informar não só a hora, mas também a data, pois você não testou a fundo o que você fez, imagine: 22:00:00 - 12:00:00, vai dar -10 ok, só que nem multiplicando por -1 isso vai dar certo já que entre essas horas informadas existe 14 horas, eu sei disso pois incluo no pensamento que se a hora de começo é 22 horas e a de fim é 12 houve mudança de dia, mas o php não vai "pensar" assim, então você tem que informa algo do tipo:

hora de começo: 2007-05-19 22:00:00

hora de fim: 2007-05-20 12:00:00

Passar isso tudo para segundos e ai dimuir os segundos, ai você trata o resultado como quiser (divide 2x por 60 pra chegar as horas...).

Ai nesse tópico tem como fazer a parte de passar para segundos...

EDIT:

Dá pra criar uma função para fazer esse serviço todo também...

Link para o comentário
Compartilhar em outros sites

  • 0

Eserra tu por acaso tem algum exemplo ou tutorial mais detalhado sobre essa questão?

assin eu apenas quero mostra para o usuario a quantas horas ele esta sem logar.

eu coloquei na pagina index o seguinte.

montei um select que pega a data e hora do ultimo acesso dele e joga no campo acesso_anterior. que logo em seguida salva no campo acesso_atual a data e hora que ele está logando para que eu possa recupera isso novamente em outro login dele.

pra compara eu to pegando a data atual e hora direto do servidor normal sem passar pelo bd e comparando as 2 para pegar o segundos .

porén não to dando conta de comparar essas datas e horas pra tirar o segundos e retornar apenas horas exatas pra ele.

ou seja não to conseguindo monta a função para pegar a data do campo acesso_anterior no banco e data atual do servidor para comparar as 2 e tira o segundos pra monta o codigo e mostra as

horas que ele está sem acessar o sistema.

Link para o comentário
Compartilhar em outros sites

  • 0

Note que eu disse pra transformar tudo em segundo e ai apenas pegar os segundos da data atual e diminuir da data anterior... ai você vai ter a diferença de tempo entre essas 2 datas em segundos, então, ai você divide 2x por 60 e obtem as horas... No link que eu passei está um exemplo de como passar uma data qualquer para segundos que nada mais é do que usar date("U"); para vir a data em segundos...

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,3k
    • Posts
      652,1k
×
×
  • Criar Novo...