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.

<?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!

Esta entrada foi publicada em Data e hora, Dicas e marcada com a tag . Adicione o link permanente aos seus favoritos.

5 pessoas já comentaram! Tá esperando o quê?

  1.  
    Jean disse:

    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!

    Utilizando Mozilla Firefox Mozilla Firefox 2.0.0.12 no Windows Windows XP
  2.  
    J disse:

    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 !!!

    Utilizando Mozilla Firefox Mozilla Firefox 3.0 no Windows Windows XP
  3.  
    Gabriel Anderson disse:

    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

    Utilizando Mozilla Firefox Mozilla Firefox 3.6.10 no Windows Windows XP
  4.  
    Solange disse:

    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.

    Utilizando Google Chrome Google Chrome 12.0.742.100 no Windows Windows 7

Deixe um Comentário

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">