Foros del Web » Programando para Internet » PHP »

Sumar tiempos

Estas en el tema de Sumar tiempos en el foro de PHP en Foros del Web. Hola soy novato en esto de php y necesito hacer algo que debe ser muy sencillo: <?php $fecha1='00:00:17.00'; $fecha2='00:01:00.00'; $suma= $fecha1 + $fecha2; echo $suma; ...
  #1 (permalink)  
Antiguo 18/09/2007, 06:21
 
Fecha de Ingreso: enero-2005
Mensajes: 8
Antigüedad: 19 años, 2 meses
Puntos: 0
Sumar tiempos

Hola soy novato en esto de php y necesito hacer algo que debe ser muy sencillo:
<?php
$fecha1='00:00:17.00';
$fecha2='00:01:00.00';
$suma= $fecha1 + $fecha2;
echo $suma;
php?>

me devuelve 0, ¿como hago para sumar los dos tiempos?
  #2 (permalink)  
Antiguo 18/09/2007, 08:30
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Sumar tiempos

Puedes usar mktime, o strtotime para convertir esos dos valores en segundos y luego sumarlos, posteriormente usar date para pasarlos nuevamente a un formato de tiempo.

Saludos.
  #3 (permalink)  
Antiguo 18/09/2007, 08:44
 
Fecha de Ingreso: enero-2005
Mensajes: 8
Antigüedad: 19 años, 2 meses
Puntos: 0
Re: Sumar tiempos

Hola, gracias por tu respuesta, estaba intentando ésto pero tampoco me funciona.
¿se te ocurre qu epuedo estar haciendo mal?
<?php
$hora1='00:00:20.00';
$timestamp1 = strtotime("$hora1");

$hora2='00:00:40.00';
$timestamp2 = strtotime("$hora2");


$SUMA=$timestamp1+$timestamp2;

echo date("H:i:s",$SUMA);

php?>
  #4 (permalink)  
Antiguo 18/09/2007, 09:12
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Sumar tiempos

Que error te da?

Saludos.
  #5 (permalink)  
Antiguo 18/09/2007, 09:41
Avatar de demiurgo_daemon  
Fecha de Ingreso: diciembre-2006
Ubicación: Querétaro
Mensajes: 184
Antigüedad: 17 años, 4 meses
Puntos: 2
Re: Sumar tiempos

Hola,

en PHP las horas no existen por sí mismas; como todos los tiempos son representados con enteros a partir del Epoch de Unix, siempre va a haber una fecha metida en la variable. En este caso, al hacer

Código PHP:
$hora1='00:00:20.00';
$timestamp1 strtotime("$hora1"); 
$timestamp1 tiene la cantidad de segundos desde el Epoch de Unix, que en tiempo de México fue el 31 de diciembre de 1969 a las 18:00. En pocas palabras, la suma de horas así como la tienes sólo "funcionará" teniendo el servidor en UTC.

Para que funcione el despliegue de sumas, lo más rápido que se me ocurrió fue definir una referencia:

Código PHP:
$minuit strtotime("00:00:00.00");
$hora1='00:00:20.00';
$timestamp1 strtotime($hora1)-$minuit;

$hora2='00:00:40.00';
$timestamp2 strtotime($hora2)-$minuit;

$SUMA=$timestamp1+$timestamp2+$minuit;
echo 
date("H:i:s",$SUMA); 
Si tienes motor de bases de datos, yo creo es más fácil sumar horas, sin fecha, ahí.

saludos
  #6 (permalink)  
Antiguo 18/09/2007, 10:22
 
Fecha de Ingreso: enero-2005
Mensajes: 8
Antigüedad: 19 años, 2 meses
Puntos: 0
Re: Sumar tiempos

Ahora si, muchas gracias
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




La zona horaria es GMT -6. Ahora son las 01:08.