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

Converter Segundos Em: X Dias, Y Horas, Z Minutos E W Segundos


Beraldo

Pergunta

10 respostass a esta questão

Posts Recomendados

  • 0
Qual é o calculo para fazer o inverso? passar de segundos para o formato hh;mm;ss

Exemplo: 4815s = 1;20;15

4815 / 3600 = 1,3375, ou seja, 1 hora e 0,3375 horas...

1h = 3600 segundos

0.3375h = x segundos

x = 3600*0.3375

x = 1215 segundos

1215 / 60 = 20,25 ou seja, 20 minutos, e 0,25 minutos

1 minuto = 60 segundos

0.25 minuto = x segundos

x = 60*0.25

x = 15 segundos...

Link para o comentário
Compartilhar em outros sites

  • 0
Qual é o calculo para fazer o inverso? passar de segundos para o formato hh;mm;ss

Exemplo: 4815s = 1;20;15

Mas é isso que o script faz. :blink:

No primeiro post há:

Por padrão, ela iniciará a contagem em anos, mas você pode forçá-la a iniciar em meses, retornando algo do tipo: 30 meses, 12 dias, ...

Logo, acho que isto deve solucionar seu problema:

$array = converte_segundos($total_segundos, 'H');

Link para o comentário
Compartilhar em outros sites

  • 0
Qual é o calculo para fazer o inverso? passar de segundos para o formato hh;mm;ss

Exemplo: 4815s = 1;20;15

4815 / 3600 = 1,3375, ou seja, 1 hora e 0,3375 horas...

1h = 3600 segundos

0.3375h = x segundos

x = 3600*0.3375

x = 1215 segundos

1215 / 60 = 20,25 ou seja, 20 minutos, e 0,25 minutos

1 minuto = 60 segundos

0.25 minuto = x segundos

x = 60*0.25

x = 15 segundos...

muito Obrigado! Foi muito util, se a função em PHP já fazia o inverso, então desculpem o incomodo, o que eu queria mesmo era a explicação da conversão porque estou a desenvolver uma aplicação em C++.

Link para o comentário
Compartilhar em outros sites

  • 0

Não há por que se desculpar. :) Estamos aí para aprender, sempre.

Mas o que você quer não é o inverso do que a função faz. Veja o título do tópico:

Converter Segundos Em: X Dias, Y Horas, Z Minutos E W Segundos.

A função converte de segundos para horas, minutos e segundos.

Mas se já resolveu o problema, beleza.

Abraços,

Beraldo

Link para o comentário
Compartilhar em outros sites

  • 0

14:30:20

1 hora = 3600 segundos

14 horas= x

x = 50400

1 minuto = 60 segundo

30 minutos = y segundos

y = 1800 segundos

x+y+20 (no caso o 20 é direto)

50400+1800+20 = 52220 segundos

Para deixar direto você dá um explode nos "dois pontos", pega o primeiro elemento do array e multiplica por 3600, o segundo por 60 e o último só soma.

Link para o comentário
Compartilhar em outros sites

  • 0
Guest higorvaz@gmail.com

galera to precisando pegar um resultado de printf e comparar, se for maior que 24HORAS abre uma mensagem, codigo:

<?php

$r=mysql_query("select data_solic from os") or die (mysql_error());

$ra=mysql_fetch_array($r);

$sql_exec = mysql_query ("select * from os where id = 32");

while ($A = mysql_fetch_row ($sql_exec)){

$data1 = $A[1];

$data2 = date('Y-m-d H:i:s');//''2008-04-27 13:33:00'';//sempre maior que a data1

$unix_data1 = strtotime($data1);

$unix_data2 = strtotime($data2);

$nHoras = ($unix_data2 - $unix_data1) / 3600;

$nMinutos = (($unix_data2 - $unix_data1) % 3600) / 60;

$total = sprintf('%02d:%02d', $nHoras , $nMinutos);

printf('%02d:%02d', $nHoras, $nMinutos);

if (printf > 24:00);

echo "PRAZO EXPIRADO!";

}

?>

SE alguém PUDER DAR UM HELP AGRADEÇO :P

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,4k
×
×
  • Criar Novo...