Ver Mensaje Individual
  #3 (permalink)  
Antiguo 17/08/2016, 13:22
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: funcion para mostrar minutos en, dias, horas, minutos

A ver vamos por paso, antes que todo vamos a usar los 5000 minutos. ¿OK?.

Un día tiene 24 horas y cada hora 60 minutos, por lo tanto un día tiene 1440 mins. Entonces para obtener los días hay que dividir los minutos dados por 1440

5000/1440 = 3.47222..... acá nos importa solo el entero, ese entero serán los días, en este caso 3 días, luego hay que restar esos días a los minutos dados, para ello debemos multiplicar esos 3 días por los correspondientes 1440 minutos y restárselo a los mins dados: 3x1440 = 4320, luego 5000-4320 = 680. Entonces 5000 mins tiene 3 días y 680 minutos.

Ahora obtendremos las horas, aplicamos la misma idea, solo que ahora usaremos los minutos restantes dela operación anterior, entonces: una hora tiene 60 mins. por lo tanto debemos dividir esos 680 por 60: 680/60 = 11.333... nuevamente aquí nos importa solo el entero, ese entero son las horas, tenemos 11 horas, restamos esas 11 horas a los minutos, para obtener los minutos restantes, multiplicamos esas 11 horas por 60 y restamos a los minutos que nos sobra:. 11*60 = 660, luego 680-660 = 20. estos son los minutos restantes.

Por lo tanto tenemos 3 días, 11 horas y 20 minutos . Espero no haberme equivocado jajajá.

Entonces pasando la idea a código, es bien sencillo.

Código PHP:
Ver original
  1. <?php
  2.  
  3. function algunNombre($m){
  4. $d = (int)($m/1440);
  5. $m -= $d*1440;
  6.  
  7. $h = (int)($m/60);
  8. $m -= $h*60;
  9.  
  10. return array("dias" => $d, "horas" => $h, "minutos" => $m);
  11. }
  12.  
  13. $someVar = algunNombre(5000);
  14.  
  15. echo "días: ".$someVar["dias"]."<br/>";
  16. echo "horas: ".$someVar["horas"]."<br/>";
  17. echo "Minutos: ".$someVar["minutos"]."<br/>";
  18.  
  19. ?>
no se me ocurrió nombre para la función tu dale uno...

Espero no haberme equivocado, porque hice un gran párrafo para ordenar y explicar mi idea. Si me equivoqué sorry.



edité optimizé el cod.

Última edición por alvaro_trewhela; 18/08/2016 a las 11:44