Foros del Web » Programando para Internet » PHP »

Como restar fechas

Estas en el tema de Como restar fechas en el foro de PHP en Foros del Web. Hola amigos. Resulta que estoy insertando en la DB una fecha con este formato @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original date ( 'Y-m-d G:i:s' ) ...
  #1 (permalink)  
Antiguo 02/05/2010, 13:09
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 7 meses
Puntos: 188
Como restar fechas

Hola amigos.

Resulta que estoy insertando en la DB una fecha con este formato

Código PHP:
Ver original
  1. date('Y-m-d G:i:s')

Y ahora me gustaría restar la fecha insertada en la database con la fecha actual del servidor.

Para mostrar cuanto tiempo falta desde la fecha actual a la fecha insertada en la DB.

GRacias.
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #2 (permalink)  
Antiguo 02/05/2010, 13:21
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Como restar fechas

Ya anteriormente han solicitado lo que estás indicando. Te recomiendo que hagas una búsqueda en el foro para que puedas ver varios ejemplos.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 02/05/2010, 13:58
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 7 meses
Puntos: 188
Respuesta: Como restar fechas

gracias amigo.

Ya lo he solucionado.

Les dejo mi solucion:

Código PHP:
Ver original
  1. //Obtengo fecha actual del servidor en formato:  Año/Mes/Dia Hora:Minutos:segundos
  2. $fecha_actual = date('Y/m/d G:i:s');
  3.  
  4. //Separo Años,Mes,Dia,Hora,Minuto,Segundo en arrays
  5. $fecha_a =  substr($fecha_actual,0, -9);
  6. $hora_a = substr($fecha_actual,11);
  7. list($año_a,$mes_a,$dia_a) = explode("/",$fecha_a);
  8. list($hora_a,$minuto_a,$segundo_a) = explode(":",$hora_a);
  9.  
  10. //Obtengo fecha almacenda en DB
  11. [..consulta SQL...]
  12.  
  13. $fecha_db = row['date'];
  14.  
  15. //Separo Años,Mes,Dia,Hora,Minuto,Segundo en arrays
  16. $fecha_d=  substr($fecha_db,0, -9);
  17. $hora_d = substr($fecha_db,11);
  18. list($año_d,$mes_d,$dia_d) = explode("/",$fecha_d);
  19. list($hora_d,$minuto_d,$segundo_d) = explode(":",$hora_d);
  20.  
  21.  
  22. //Ahora resto ambas fechas
  23.  
  24. $año_total = $año_d-$año_a;
  25. $mes_total = $mes_d-$mes_a;
  26. $dia_total = $dia_d-$dia_a;
  27.  
  28. $hora_total = $hora_d-$hora_a;
  29. $minuto_total = $minuto_d-$minuto_a;
  30. $segundo_total = $segundo_d-$segundo_a;
  31.  
  32.  
  33. echo "Quedan: ".$año_total." años, ".$mes_total." meses, ".$dia_total." dias, ".$hora_total." horas, ".$minuto_total." minutos, ".$segundo_total." segundos.";
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #4 (permalink)  
Antiguo 02/05/2010, 14:35
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Como restar fechas

Bueno, como veo que hiciste el intento aquí va un ejemplo sencillo
Código PHP:
Ver original
  1. <?php
  2. $fecha_de_la_base_de_datos = '2010-11-20 12:02:53';
  3. $datetime1 = new DateTime();
  4. $datetime2 = new DateTime($fecha_de_la_base_de_datos);
  5. $interval = $datetime1->diff($datetime2);
  6. echo $interval->format('%Y años, %m meses, %d días, %H horas, %i minutos y %s segundos');
Para más información lee sobre la clase de DateTime
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 02/05/2010, 15:59
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 7 meses
Puntos: 188
Respuesta: Como restar fechas

Gracias :)

Eso es mucho mas sencillo que lo que hice.

GRacias.
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #6 (permalink)  
Antiguo 02/05/2010, 23:49
 
Fecha de Ingreso: julio-2008
Mensajes: 19
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Como restar fechas

Otro ejemplo seria hacer la consulta directamente en mysql y guardala en una variable:

Código PHP:
Ver original
  1. $consulta = mysql_query("SELECT DATEDIFF(now( ),'".$fecha1 . "')");

Espero te sirva, un saludo.

Etiquetas: fechas, restar
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 18:41.