Codigo Php para convertir segundos a horas, minutos y segundos

Cuando programamos utilizando Php, es muy común encontrarnos con que necesitamos convertir mediante código segundos a horas y minutos.

Convertir segundos en horas y minutos con programación Php


El código Php para hacerlo es el siguiente:

<?

function tiempo_segundos($segundos){
$minutos=$segundos/60;
$horas=floor($minutos/60);
$minutos2=$minutos%60;
$segundos_2=$segundos%60%60%60;
if($minutos2<10)$minutos2='0'.$minutos2;
if($segundos_2<10)$segundos_2='0'.$segundos_2;

if($segundos<60){ /* segundos */
$resultado= round($segundos).' Segundos';
}elseif($segundos>60 && $segundos<3600){/* minutos */
$resultado= $minutos2.':'.$segundos_2.' Minutos';
}else{/* horas */
$resultado= $horas.':'.$minutos2.':'.$segundos_2.' Horas';
}
return $resultado;
}
$segundos=date('h')*60*60+(date('i')*60)+date('s');

echo 'Segundos: '.$segundos.' Resultado: '.tiempo_segundos($segundos);
?>

Veamos que es lo que hace este código Php:
Definimos una función con el nombre de tiempo_segundos, que es el valor que indicamos ( en segundos ) cuando llamamos la función.
Con la función realizaremos una serie de operaciones aritméticas.
$Minutos, tal como se ve; será igual a la división entre $segundo y 60.
Ejemplo: 120 segundos / 60 es igual a 2 minutos.
$horas es igual a la división de $minutos entre 60 , y lo redondeamos hacia abajo con la función matemática floor()
$minutos2 será igual al residuo (resto) devuelto por la división entre $minutos y 60.
Y $segundos_2 el residuo de la división entre $segundos, 60, 60, 60 sucesivamente.
Que no son más que los datos acumulados en los procesos anteriores.
Iniciamos una condición para verificar si el número es menor a 10 y colocarle un 0 (cero) al comienzo: Por ejemplo 9 => 09 , el proceso lo repetimos con los segundos y minutos, ya que con la horas seria innecesario.
Creamos otra condición para indicar si se ha definido Horas, minutos ó segundos y retornar el formato y estilo correcto.
Si $segundos es menor que 60 (entonces solo hay segundos)
if($segundos<60)
De lo contrario si $segundos es menor que 60 y es menor que 3600 (Se han definido minutos y segundos)
elseif($segundos>60 && $segundos<3600)
De lo contrario a todas estas (se ha definido horas, minutos y segundos)
else
Finalmente retornamos el resultado
return $resultado;
Y aplicamos la función, con los segundos actuales del servidor para verificar que nos devuelve la hora exacta.
Con este simple código programado en Php no tendremos con la conversión de segundos.



contador de monedas | imagenes 3d | l'alcootest

1 comentarios:

mhaRc dijo...

Agradecido por el código, me fue muy útil.