Foros del Web » Programando para Internet » PHP »

Ayuda Calculos con fechas

Estas en el tema de Ayuda Calculos con fechas en el foro de PHP en Foros del Web. Como estan tengo que realizar dos calculos con fechas en php pero no se como 1. Tengo una fecha asi 2008-06-12 04:21:48 Necesito sumarle una ...
  #1 (permalink)  
Antiguo 13/06/2008, 08:28
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 17 años, 11 meses
Puntos: 50
Ayuda Calculos con fechas

Como estan tengo que realizar dos calculos con fechas en php pero no se como

1.
Tengo una fecha asi 2008-06-12 04:21:48
Necesito sumarle una hora a esa fecha debe quedar 2008-06-12 05:21:48

2.
Tengo dos fechas asi 2008-06-12 04:21:48 y 2008-06-12 04:28:40
Necesito saber cuantas horas minutos y segundos hay de diferencia entre las dos


Gracias por su ayuda
  #2 (permalink)  
Antiguo 13/06/2008, 08:57
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda Calculos con fechas

con la función strtotime() convierte esta cadena en un numero, timestamp

luego... solo tienes que sumar, restar... que fácil!

Ref: http://php.net/strtotime

suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 13/06/2008, 09:06
Avatar de the_scorpion  
Fecha de Ingreso: mayo-2006
Ubicación: Cuba
Mensajes: 696
Antigüedad: 17 años, 11 meses
Puntos: 3
Respuesta: Ayuda Calculos con fechas

Cita:
Iniciado por helacer Ver Mensaje
Como estan tengo que realizar dos calculos con fechas en php pero no se como

1.
Tengo una fecha asi 2008-06-12 04:21:48
Necesito sumarle una hora a esa fecha debe quedar 2008-06-12 05:21:48

2.
Tengo dos fechas asi 2008-06-12 04:21:48 y 2008-06-12 04:28:40
Necesito saber cuantas horas minutos y segundos hay de diferencia entre las dos


Gracias por su ayuda
Hola
Con lo que te pusieron arriba lo haces así
<?php
$date1="2008-06-12 04:21:48";
$date2="2008-06-12 04:28:40";

$s = strtotime($date1)-strtotime($date2);
$d = intval($s/86400);
$s -= $d*86400;
$h = intval($s/3600);
$s -= $h*3600;
$m = intval($s/60);
$s -= $m*60;

$dif1= (($d*24)+$h).hrs." ".$m."min";
$dif2= $d.$space.dias." ".$h.hrs." ".$m."min";
$dif3= $d.$space.dias." ".$h.hrs." ".$m."min ".$s."seg";

echo "Diferencia en horas minutos: ".$dif1;
echo "<br>";
echo "Diferencia en dias horas minutos: ".$dif2;
echo "<br>";
echo "Diferencia en dias horas minutos segundos: ".$dif3;
?>
y listo, suerte
__________________
Que hablen mal de uno es espantoso. Pero hay algo peor: que no hablen.
Quien hace, puede equivocarse. Quien nada hace, ya está equivocado".
  #4 (permalink)  
Antiguo 13/06/2008, 10:13
Avatar de farra  
Fecha de Ingreso: marzo-2008
Ubicación: Aqui estoy
Mensajes: 574
Antigüedad: 16 años, 1 mes
Puntos: 20
De acuerdo Respuesta: Ayuda Calculos con fechas

modifique un poquito tu codigo por que salian numeros negativos...

Código PHP:

<?php
function hacecuanto($date1,$date2){

$s strtotime($date1)-strtotime($date2);
$d intval($s/86400);
$s -= $d*86400;
$h intval($s/3600);
$s -= $h*3600;
$m intval($s/60);
$s -= $m*60;

// convertir a positivo
if($d 0){
$d=$d*-1;
}
if(
$h 0){
$h=$h*-1;
}
if(
$m 0){
$m=$m*-1;
}
if(
$s 0){
$s=$s*-1;
}


// Solo mostrar si no es 0
if($d 0){
$dias=$d." dias ";
}
if(
$h 0){
$horas=$h."hs. ";
}
if(
$m 0){
$minutos=$m."min. ";
}
if(
$s 0){
$segundos=$s."seg.";
}

//si se envio hoy
if($d == 0){
$dias=" HOY hace ";
}

$diferencia=$dias."(".$horas.$minutos.$segundos.")";


return 
$diferencia;
}
?>
Enviado: <?php echo hacecuanto("2008-06-12 04:28:48","2008-06-13 06:22:43"); ?>
__________________
Firma:
Es mas dificil para el mono entender que el hombre desciende de el....

PD: Siempre doy karma al que me da una buena respuesta... ;0)
  #5 (permalink)  
Antiguo 13/06/2008, 15:47
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 17 años, 11 meses
Puntos: 50
Respuesta: Ayuda Calculos con fechas

Hola gracias por su ayuda. No la e implementado pero parece que funciona perfectamente. Pero no e logrado es como hacer para calcular una hora antes de la fecha dada es decir si me dan:

2008/06/12 23:11:35 debo devolver 2008/06/12 22:11:35

Lo pense hacer cojiendo la fecha como un string pero me gustaria aprender a hacerlo manejjandolo como fecha


gracias por su ayuda
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 14:34.