Inicio > Código, Php, Programación, Scripts > Sumar tiempo (en horas) con PHP

Sumar tiempo (en horas) con PHP

Viernes, 21 de Diciembre de 2007

He tenido que crear un par de funciones para poder hacer sumas de horas con PHP. Por ejemplo, tenemos 2 horas: 1:20 y 2:10. En total suman 3:30 horas pero cuando tenemos un mogollon de horas, hacer una suma se nos hace un tanto complicado.

Bueno, si alguien las necesita aquí están:

function timeToMinutes($time)
{
$horaSplit = explode(“:”, $time);
if( count($horaSplit) < 3 ) {
$horaSplit[2] = 0;
}

# Pasamos los elementos a segundos
$horaSplit[0] = $horaSplit[0] * 60 * 60;
$horaSplit[1] = $horaSplit[1] * 60;

return (($horaSplit[0] + $horaSplit[1] + $horaSplit[2]) / 60);
}

function minutesToHours($mins)
{
$hours = floor($mins / 60);
$minutes = $mins – ($hours * 60);

if (!$minutes) {
$minutes = “00″;
}
else if ($minutes <= 9) {
$minutes = “0″ . $minutes;
}

return (“{$hours}:{$minutes}”);
}

Y para ejecutarlo, sería:

$minutos = timeToMinutes(“1:20″);
$minutos += timeToMinutes(“3:10″);
$minutos += timeToMinutes(“0:30″);
$totalEnHoras = minutesToHours($minutos);

Ale, espero que os sirva de algo :)

Sonycrow Código, Php, Programación, Scripts

  1. gigginet
    Viernes, 15 de Agosto de 2008 a las 15:40 | #1

    saludos…

    bueno friends gracias por tu aporte… de verdad es de suma utilidad, y mira q me he puesto a googlear buen ratito, y darme cuenta que solo existe tu aporte… gracias mano mil por tu codigo…

  2. ruggero85
    Martes, 11 de Noviembre de 2008 a las 01:18 | #2

    funciona en php5?

  3. Sonycrow
    Martes, 11 de Noviembre de 2008 a las 12:58 | #3

    Claro :)

  4. isaac
    Jueves, 9 de Abril de 2009 a las 15:54 | #4

    hola amigo
    mira en realidad aun no le e probado pero lo hare de inmediato ya ke e llevado dias buscando algo como esto, ya ke lo ke e logradoo yo solo ha sido sumar dos horas cuando rescato mas horas de la base de datos solo toma dos. espero que me sirve porke estoy super urgido y si no me sirve igual de todos modos por colaborar con aportes gente como tu es la que vale
    gracias

  5. Viernes, 19 de Junio de 2009 a las 02:06 | #5

    hola soy de guatemala COMISARIO NACIONAL CE CICLISMO TENGO PROBLEMAS PORQUE NO TENGO UN PROGRAMA QUE ME SUMEN LOS TIEMPOS USO EXCEL PERO YO QUISIERA TENER UN PROGRAMA MAS MODERNO QUE ME APARECIERAN DORSAL Y TIEMPO Y QUE EL PROGRAMA ME SUME AL MISMO TIEMPO Y PONERLO EN FORMA ADVERSA EL MENOR TIEMPO HASTA AL MAYOR TIEMPO SI ME PUDIERAN AYUDAR SE LOS VOY AGRADECER MUCHO ESPERO TU RESPUESTA LO MAS PRONTO POSIBLE

  6. Felipe Barra
    Jueves, 15 de Abril de 2010 a las 21:48 | #6

    esta muy bueno el script puesto que yo habia encontrado una suma de hora pero al momento de tener mas de 24 horas pasaba a 0 nuevamente y eso no me servia y con tu script eso no pasa muchas gracias

  7. Nico
    Miércoles, 12 de Enero de 2011 a las 15:27 | #7

    Gracias!

  8. Oscar
    Lunes, 9 de Mayo de 2011 a las 22:38 | #8

    QUIERO SUMAR HORAS QUE PASEN LAS 24 OSEA SI KIERO SUMAR 10 MAS 15 HORAS DEBE SALIR 25 HORAS Y ASI ,…. CON TU EJEMPLO ME SALE 01:00 POR LO QUE PASA LAS 24 HORAS ….AYUDAME :(

  1. Sin trackbacks aún.