1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

[PHP] Converter segundos em H : M : S

Discussão em 'Web Development' iniciada por The Lavigne, 15 de Janeiro de 2009. (Respostas: 6; Visualizações: 13428)

  1. The Lavigne

    The Lavigne Banido

    Boas pessoal da Zwame.

    É assim eu tenho uma variável onde me guarda os segundos de um certo tempo. Eu queria depois converter esses segundos em Horas, minutos e segundos.

    Por exemplo 3600 segundos é 01 : 00 : 00. Certo?

    Pronto basicamente queria uma função que convertesse isso assim. Alguém conhece? Se sim irei ficar muito agradecido. Já pesquisei e tudo e não encontro. :sad:


    Um abraço.
     
  2. Mitch

    Mitch Banido

    1. fazes a divisão inteira do número por 3600 e tens o número de horas
    2. divides o resto da conta "1" por 60 e tens o número de minutos
    3. o resto da conta "2" dá-te o número de segundos
     
  3. Xikinho90

    Xikinho90 Power Member

    Eu uma vez fiz uma em c que convertia uma valor em dias para o valor em anos, meses, dias.

    É parecido, mas agora não encontro...:mad:

    edit: O Mitch já tratou de te ajudar :)
     
  4. anjo2

    anjo2 Power Member

    PHP:
    $seconds 15000;

    $hours floor($seconds 3600);
    $seconds -= $hours 3600;
    $minutes floor($seconds 60);
    $seconds -= $minutes 60;

    echo 
    "$hours : $minutes : $seconds";
    Exemplo: http://www.anjo2.com/seconds.php?seconds=15000
     
    Última edição: 15 de Janeiro de 2009
  5. The Lavigne

    The Lavigne Banido


    PERFEITO!

    Era mesmo isto que procurava :D


    :arrow: Muito Obrigado!
     
  6. Desculpem minha ignorância, e para Converter minutos em H:M:S?
     
  7. KeyBi

    KeyBi Power Member

    Código:
    var_dump(time_converter(160.25));
    
    function time_converter($minutes) {
    
        $result['hours'] = 0;
        $result['seconds'] = 0;
    
        if ($minutes >= 60) {
            $hours = $minutes / 60;
            $result['hours'] = floor($minutes / 60);
            $rest = $hours - floor($hours);
            $minutes = $rest * 60;
        } else {
            $result['minutes'] = floor($minutes);
        }
    
        if (!empty($minutes - floor($minutes))) {
            $result['seconds'] = floor(($minutes - floor($minutes)) * 60);
            $result['minutes'] = floor($minutes);
        }
    
        if (empty($result['minutes'])) {
            $result['minutes'] = 0;
        }
    
        $result['seconds'] = $result['seconds'] >= 10 ? $result['seconds'] : '0'. $result['seconds'];
        $result['minutes'] = $result['minutes'] >= 10 ? $result['minutes'] : '0'. $result['minutes'];
        $result['hours'] = $result['hours'] >= 10 ? $result['hours'] : '0'. $result['hours'];
    
    
        $result['compiled_time'] = $result['hours'] . ':' . $result['minutes'] . ':' . $result['seconds'];
        return $result;
    }
     

Partilhar esta Página