Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

ayudame a Sumarrrrr horas

Estas en el tema de ayudame a Sumarrrrr horas en el foro de Mysql en Foros del Web. Amigos mi duda es la siguiente: Tengo en una tabla de la bd un campo donde se registran horas(en que ocurrieron determinados sucesos), deseo realizar ...
  #1 (permalink)  
Antiguo 28/08/2008, 09:26
 
Fecha de Ingreso: agosto-2008
Mensajes: 12
Antigüedad: 15 años, 7 meses
Puntos: 0
Información ayudame a Sumarrrrr horas

Amigos mi duda es la siguiente:

Tengo en una tabla de la bd un campo donde se registran horas(en que ocurrieron determinados sucesos), deseo realizar la suma de todos estos tiempos pero no me sale, pues no se como sumar tiempos de forma que tenga en cuenta los minutos

ejemplo
10:45 + 2:22

deberia darme 13:07, pq 10+2=12 HORAS y los 45 minutos + los 22 minutos =67 minutos por tanto equivale a 1 hora con 7 minutos mas que se suman.

POR AHORA NO ME IMPORTAN LOS SEGUNDOS

Espero sus aportes, gracias

Última edición por ybmontoya; 28/08/2008 a las 12:04 Razón: no me han respondido
  #2 (permalink)  
Antiguo 28/08/2008, 13:41
 
Fecha de Ingreso: agosto-2008
Mensajes: 12
Antigüedad: 15 años, 7 meses
Puntos: 0
Sonrisa Respuesta: ayudame a Sumarrrrr horas

ya lo logre puffff, me puse a razonar un poquito y con la funcion split se logra.
aui lo dejo para los que quieran conocerlo:

<?php
// para sumar los tiempos en un arreglo.

$fila[1]="2:59";
$fila[2]="10:58";
$fila[3]="13:51";
$fila[4]="5:50";

$fila[5]="1:10";
$fila[6]="11:00";
$fila[7]="4:51";
$fila[8]="0:4";
$fila[9]="1:57";

$horas=0;
$minutos=0;

for ($i=1;$i<=9;$i++){
$tiempo=split(":",$fila[$i]);
$horas+=(int)$tiempo[0];
$minutos+=(int)$tiempo[1];
$horas+=(int)($minutos/60);
$minutos=$minutos%60;
if ($minutos < 10) $minutos= "0".$minutos;
}

echo "$horas <br>";
echo "$minutos <br>";
?>
  #3 (permalink)  
Antiguo 28/08/2008, 13:48
Avatar de Taldreakan  
Fecha de Ingreso: julio-2008
Mensajes: 128
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: ayudame a Sumarrrrr horas

Puedes usar las siguientes funciones de MySQL:
Código:
SELECT SEC_TO_TIME('10:45') + TIME_TO_SEC('2:22'));
POSDATA: Porque si lo quieres hacer en Base de Datos verdad?
  #4 (permalink)  
Antiguo 28/08/2008, 14:20
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: ayudame a Sumarrrrr horas

Es lo que te sugiere Taldreakan, aunque con algunos pequeños cambios.

Cita:
SELECT SEC_TO_TIME( TIME_TO_SEC( '10:45' ) + TIME_TO_SEC( '2:22' ) )
conviertes los datos a segundos antes de sumar y luego vuelves a convertir los segundos a hora.

y para hacer la suma de los datos de un campo horas en la base:
Cita:
SELECT SEC_TO_TIME( TIME_TO_SEC( SUM( campohoras ) ) )
FROM `nombretabla`
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 04:22.