PHPit - PHP

"Agora, pois, permanecem a fé, a esperança, o amor, estes três; mas o maior destes é o amor." (I Coríntios 13:13)

Convertendo minutos em horas

Prefácio

Bom, não tem muito o que falar. Em minhas andanças pela internet, encontrei neste site uma rotina bem legal para converter minutos em horas.
Sem mais delongas, vamos pro que interessa.

Mão nas massa

Eu peguei o código e fiz alguns alterações para ficar mais didático. Também inseri alguns comentários para tornar mais simples o entendimento.

Código: Alternar entre o modo de cópia/destaque
  1. <?php
  2. function m2h($mins) {
  3. // Se os minutos estiverem negativos
  4. if ($mins < 0)
  5. $min = abs($mins);
  6. else
  7. $min = $mins;
  8.  
  9. // Arredonda a hora
  10. $h = floor($min / 60);
  11. $m = ($min - ($h * 60)) / 100;
  12. $horas = $h + $m;
  13.  
  14. // Matemática da quinta série
  15. // Detalhe: Aqui também pode se usar o abs()
  16. if ($mins < 0)
  17. $horas *= -1;
  18.  
  19. // Separa a hora dos minutos
  20. $sep = explode('.', $horas);
  21. $h = $sep[0];
  22. if (empty($sep[1]))
  23. $sep[1] = 00;
  24.  
  25. $m = $sep[1];
  26.  
  27. // Aqui um pequeno artifício pra colocar um zero no final
  28. if (strlen($m) < 2)
  29. $m = $m . 0;
  30.  
  31. return sprintf('%02d:%02d', $h, $m);
  32. }
  33.  
  34. print m2h(135);
  35. ?>
<?php
    
function m2h($mins) {
        
// Se os minutos estiverem negativos
        
if ($mins 0)
            
$min abs($mins); 
        else
            
$min $mins

        
// Arredonda a hora
        
$h floor($min 60); 
        
$m = ($min - ($h 60)) / 100
        
$horas $h $m

        
// Matemática da quinta série
        // Detalhe: Aqui também pode se usar o abs()
        
if ($mins 0)
            
$horas *= -1

        
// Separa a hora dos minutos
        
$sep explode('.'$horas); 
        
$h $sep[0]; 
        if (empty(
$sep[1]))
            
$sep[1] = 00

        
$m $sep[1]; 

        
// Aqui um pequeno artifício pra colocar um zero no final
        
if (strlen($m) < 2)
            
$m $m 0

        return 
sprintf('%02d:%02d'$h$m); 
    } 
    
    print 
m2h(135);
?>

Conclusão

Realmente não tem muito o que se falar desta rotina, mas se você quiser ter mais informações sobre a função abs(), você pode dar uma olhada no artigo Obtendo números positivos sem gambiarra.

Apenas espero que vocês enviem dúvidas e sugestões pro PHPit melhorar!

Ah... E em breve termos novidades! :)

Um grande abraço e fiquem com Deus!

Dim dim

 

Comentaí! (02)

E ae, cara, tudo certo? Outra solucao bacana é:

function m2h($min){
return sprintf('%02d:%02d', floor($min/60), $min%60);
}

Valeu, e segue firme com esse site, hein! Jean em 03/03/2008 às 12:01 utilizando o Mozilla Firefox Mozilla Firefox 2.0.0.12 no Windows Windows XP
Caro Jean, esta sua solução comentada não é exata, meu caro amigo dono do portal, nunca vi tamanha dedicação e exatidão pra esse tipo de coisa, Meus parabens !!! J em 16/07/2008 às 22:32 utilizando o Mozilla Firefox Mozilla Firefox 3.0 no Windows Windows XP
 

Comenta logo, pô!

* Todos os links inseridos nos comentários possuem rel="nofollow" para impedir com que crawlers considerem os mesmos como relevantes.
* Os e-mails não são divulgados.

Dados pessoais

Você é realmente um humano?

Finalmente, digite seu comentário :)

Caixinha de Sugestões

O que é isso? Aqui você pode simplesmente digitar uma sugestão (artigos, resenhas, melhorias, etc) sem precisar preencher longos formulários. Digite o que quiser na caixinha abaixo e eu lerei com o maior prazer! Se quiser se identificar, fique a vontade!

O PHPit é redigido e mantido por Rafael Jaques - Política de Privacidade.

XHTML/CSS desenvolvido por André Gazola.

PHPit 2007 - 2009 - Alguns direitos reservados.

Feeds ;)

Creative Commons License

PHPit por Rafael Jaques é licensiado sob a Creative Commons Atribuição-Uso Não-Comercial-Compartilhamento pela mesma Licença 2.5 Brasil License.