Foros del Web » Programando para Internet » PHP »

Como sacar las fechas entre dos fechas?

Estas en el tema de Como sacar las fechas entre dos fechas? en el foro de PHP en Foros del Web. Hola compañeros , Mi problema es que necesito saber las fechas q hay entre dos fechas con PHP, algo como: $fecha1 = '20-10-2010'; $fechas2 = ...
  #1 (permalink)  
Antiguo 30/04/2010, 11:15
Avatar de Andreys123456  
Fecha de Ingreso: febrero-2009
Ubicación: Perez Zeledon
Mensajes: 148
Antigüedad: 15 años, 2 meses
Puntos: 0
Como sacar las fechas entre dos fechas?

Hola compañeros,
Mi problema es que necesito saber las fechas q hay entre dos fechas con PHP, algo como:

$fecha1 = '20-10-2010';

$fechas2 = '25-10-2011';

Y lo que necesito es poder sacar estas fechas:
21-10-2010 , 22-10-2010 , 23-10-2010 , 24-10-2010 .............etc. asta llegar a 25-10-2011.

Les agradesco de antemano cualquier ayudita que me puedan ofrecer.
Gracias y Saludos!!
  #2 (permalink)  
Antiguo 30/04/2010, 11:30
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, 10 meses
Puntos: 1517
Respuesta: Como sacar las fechas entre dos fechas?

Algo así
Código PHP:
Ver original
  1. <?php
  2. $fecha1 = strtotime('2010-10-20');
  3. $fecha2 = strtotime('2011-10-25');
  4. for($fecha1;$fecha1<=$fecha2;$fecha1=strtotime('+1 day ' . date('Y-m-d',$fecha1))){
  5.     echo date('Y-m-d',$fecha1) . '<br />';
  6. }
__________________
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 30/04/2010, 11:38
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Como sacar las fechas entre dos fechas?

Yo te puedo dar una idea... pero realizarte el código no ya que será un poco extenso, para eso ves a Ofertas de empleo.


Bueno, la idea que se me ha ocurrido es, de primeras creas un array escalar con los el número de los días que tiene cada mes. Ej:

$diasPorMes = array();
$diasPorMes[1] = 31;
$diasPorMes[2] = 28/29 (Aqui tendrás que mirar si el año es bisiesto, y si lo es, sumarle uno)
$diasPorMes[3] = ...
....
....
asi con todos lo meses.

Después de tener ese array con todos los meses y la cantidad de días que tiene cada mes, es simplemente, ir contando, yo lo primero que haría seria, extraer el dia, mes, y año, de las dos fechas, inicial y final, para poner disponer de fácilmente de esos números, una vez tengas esos datos, la lógica es ir sumando 1 al día actual, y cada vez que sumes uno comprobar si al sumarle uno el valor del día ha llegado al limite (osea, o 28 o 29 o 30 o 31, dependiendo del mes), si ya ha llegado al último día del mes, poner la variable $dia = 1, y sumarle 1 al mes, y al mismo tiempo, cuando se le sume uno al mes, comprobar que no sobrepasa a 12, si sobre pasa, colocar la variable $mes = 1, y sumarle uno al año, y al mismo tiempo que haces todas esas comprobaciones, cada vez que sumes uno a la variable $dia debes comprobar si ya has llegado a la fecha destino.


Espero que más o menos se entienda, puede parecer complicado por todos los datos que hay que comprobar, pero no lo es tanto.

P.D: Creo que el código de Abimaelrc es más efectivo.

Un saludo
  #4 (permalink)  
Antiguo 30/04/2010, 11:51
Avatar de Andreys123456  
Fecha de Ingreso: febrero-2009
Ubicación: Perez Zeledon
Mensajes: 148
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Como sacar las fechas entre dos fechas?

Hola abimaelrc Gracias por tu ayuda exelente!!

Heli0s gracias por el intento

Etiquetas: dos, fechas
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 09:50.