Convertir minutos a horas y dias en php

Estándar

Trabajando en un proyecto con laravel me ha surgido la  necesidad de convertir los minutos transcurridos en resolver un ticket a horas y días.

Les comparto la función implementada con sus respectivos comentarios.

como primer parámetro recibe los minutos, y como segundo parámetro la variable type, que es la que me indica si se va a mostrar completo el texto, por ejemplo:

6 dias 3 horas 5 min

si la variable type=round solo se mostraría

6 dias

calcular horas y dias

calcular horas y dias

Resultado:

convertir minutos

convertir minutos

Código :

public function toHours($min,$type)
 { //obtener segundos
 $sec = $min * 60;
 //dias es la division de n segs entre 86400 segundos que representa un dia
 $dias=floor($sec/86400);
 //mod_hora es el sobrante, en horas, de la division de días; 
 $mod_hora=$sec%86400;
 //hora es la division entre el sobrante de horas y 3600 segundos que representa una hora;
 $horas=floor($mod_hora/3600); 
 //mod_minuto es el sobrante, en minutos, de la division de horas; 
 $mod_minuto=$mod_hora%3600;
 //minuto es la division entre el sobrante y 60 segundos que representa un minuto;
 $minutos=floor($mod_minuto/60);
 if($horas<=0)
 {
 $text = $minutos.' min';
 }
 elseif($dias<=0)
 {
 if($type=='round')
 //nos apoyamos de la variable type para especificar si se muestra solo las horas
 {
 $text = $horas.' hrs';
 }
 else
 {
 $text = $horas." hrs ".$minutos;
 }
 }
 else
 {
 //nos apoyamos de la variable type para especificar si se muestra solo los dias
 if($type=='round')
 {
 $text = $dias.' dias';
 }
 else
 {
 $text = $dias." dias ".$horas." hrs ".$minutos." min";
 }
 }
 return $text; 
 }

También te puede interesar: Recortar texto en php

Anuncios

2 comentarios en “Convertir minutos a horas y dias en php

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s