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.
<?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!
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!
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 !!!
Nossa tamanha confusão para algo tão simples como o Jean comentou…
e no começo não precisa de if, simplesmente use $min = abs($mins); se for positivo vai continuar sendo
Gostaria de um cálculo simples que eu possa usar com meus alunos de quinto ano, na escola Municipal onde trabalho, aqui no Rio de Janeiro. Nada complicado, mas que sinceramente, eu tenho dificuldade em resolver, pois estou sem prática deste conteúdo, e reconheço a minha falha, mas estou disposta a aprender melhor. Obrigada desde já pela resposta. Solange.
Não entendi exatamente o que está procurando… Desculpe!