Foros del Web » Programando para Internet » PHP »

Como calcular diferencia entre dos fechas

Estas en el tema de Como calcular diferencia entre dos fechas en el foro de PHP en Foros del Web. Hola. Tengo un problema para calcular cuantos dias hay de diferencia entre dos fechas, les agradeceria si alguien me pudiera ayudar con esto. Desde un ...
  #1 (permalink)  
Antiguo 14/03/2012, 15:27
 
Fecha de Ingreso: septiembre-2009
Mensajes: 306
Antigüedad: 10 años, 4 meses
Puntos: 10
Como calcular diferencia entre dos fechas

Hola.

Tengo un problema para calcular cuantos dias hay de diferencia entre dos fechas, les agradeceria si alguien me pudiera ayudar con esto.

Desde un formulario recibo dos fechas diferentes, provenientes de dos campos diferentes del formulario, las fechas siempre van a tener el mismo formato "dd/mm/aaaa" (en forma de string), ahoa me pregunto como puedo saber cuantos dias hay de diferencia entre esas dos fechas, hay alguna forma de transforma esos string en "date" o "timestamp" para calcular la diferencia? o algun otro metodo para hacer el calculo?
__________________
Mantente al tanto del acontecer Turistico nacional
Visita el Parque Bicentenario El Salvador
  #2 (permalink)  
Antiguo 14/03/2012, 16:04
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 8 años, 5 meses
Puntos: 793
Respuesta: Como calcular diferencia entre dos fechas

Puedes hacer algo así si tienes PHP 5.3.0+

Código PHP:
Ver original
  1. <?php
  2. $f1 = '01/03/2012';
  3. $f2 = '14/03/2012';
  4.  
  5. $f1 = str_replace('/', '-', $f1);
  6. $f2 = str_replace('/', '-', $f2);
  7.  
  8. $f1 = new DateTime($f1);
  9. $f2 = new DateTime($f2);
  10. $interval = $f1->diff($f2);
  11. echo $interval->format('%a');

o si quieres así:

Código PHP:
Ver original
  1. <?php
  2. $f1 = DateTime::createFromFormat('d/m/Y', '01/03/2012');
  3. $f2 = DateTime::createFromFormat('d/m/Y', '14/03/2012');
  4. echo $f1->diff($f2)->format('%a');

o sino algo así:

Código PHP:
Ver original
  1. <?php
  2. $f1 = '01/03/2012';
  3. $f2 = '14/03/2012';
  4.  
  5. $f1 = str_replace('/', '-', $f1);
  6. $f2 = str_replace('/', '-', $f2);
  7.  
  8. $seg = strtotime($f2) - strtotime($f1);
  9. $dias = $seg / 86400;
  10. echo $dias;

PD: No es bueno manejar los slash para las fechas.

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Última edición por andresdzphp; 14/03/2012 a las 16:15
  #3 (permalink)  
Antiguo 14/03/2012, 17:19
 
Fecha de Ingreso: septiembre-2009
Mensajes: 306
Antigüedad: 10 años, 4 meses
Puntos: 10
Respuesta: Como calcular diferencia entre dos fechas

ok, muchas gracias andres, ya con eso tengo solucionado el problema.
__________________
Mantente al tanto del acontecer Turistico nacional
Visita el Parque Bicentenario El Salvador

Etiquetas: diferencia, formulario, calculadora
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 23:39.