Foros del Web » Programando para Internet » PHP »

PHP OO ayuda con diffdate()

Estas en el tema de ayuda con diffdate() en el foro de PHP en Foros del Web. hola a todos no se como explicar mi problema, en prencipio quieroque salga las fechas atraves de un bucle FOR no se se estoy en ...
  #1 (permalink)  
Antiguo 27/01/2011, 14:30
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 15 años
Puntos: 25
ayuda con diffdate()

hola a todos
no se como explicar mi problema,
en prencipio quieroque salga las fechas atraves de un bucle FOR no se se estoy en buen camino o no ejemplo
aqui es me function:
Código PHP:
Ver original
  1. function diffdate($chIn, $chOut){
  2.    
  3. $i = strtotime($chIn);
  4. $o = strtotime($chOut);
  5. // get date
  6. $yearr = date('Y', $i);
  7. $endD = date('d', $o);
  8. $startD = date('d', $i);
  9. // get de las and first month form let to
  10. $startM = date('m', $i);
  11. $endM = date('m', $o);
  12. // get first and last year
  13. $primeranio= date('Y', $i);
  14. $ultimianio = date('Y', $o);
  15.  
  16. // get total days on each month
  17. $diasdeprimerlmes = date('t', $i);
  18. $diasdeultimolmes = date('t', $o);
  19. $dateDiff = $o - $i;
  20.  
  21. $fullDays = floor($dateDiff/(60*60*24));
  22. //echo $fullDays;
  23.  
  24. // calculate de las and the firs day at each month
  25.  
  26.  
  27.  
  28. for($r = $startD; $r <= $diasdeprimerlmes; $r++ )
  29. {
  30.    
  31.         echo $r."/".$startM."/".$yearr; echo '<br/>';
  32. if($r <= $diasdeprimerlmes)
  33. {
  34.     $r = $diasdeultimolmes++;
  35.     $startM = (date('n', $i)+1);
  36. }
  37. }
  38.  
  39. }
  40. $chIn = "2011-01-26";
  41. $chOut = "2011-02-02";
  42. diffdate($chIn, $chOut);
lo que quire es que me sale asi

26/01/2011
27/01/2011
28/01/2011
29/01/2011
30/01/2011
31/01/2011
01/02/2011
02/02/2011

o sea cuando el mes termina entra el otro mes con los dias corectos
gracias or adelantado
  #2 (permalink)  
Antiguo 27/01/2011, 14:36
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 9 meses
Puntos: 155
Respuesta: ayuda con diffdate()

a lo mejor te sirve esta liga

http://www.issux.com/2009/07/13/recorrer-rango-de-fechas-en-php/

no se si sera por ahi el asunto
  #3 (permalink)  
Antiguo 27/01/2011, 14:37
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 15 años
Puntos: 25
Respuesta: ayuda con diffdate()

geracias por responder ahora doy un vistaso
  #4 (permalink)  
Antiguo 27/01/2011, 14:45
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 15 años
Puntos: 25
Respuesta: ayuda con diffdate()

tio eres un crack
  #5 (permalink)  
Antiguo 27/01/2011, 15:01
 
Fecha de Ingreso: octubre-2009
Mensajes: 245
Antigüedad: 15 años, 1 mes
Puntos: 17
Respuesta: ayuda con diffdate()

Asi muy rápido puedes hacer lo siguiente
Código PHP:
Ver original
  1. $starDate = new DateTime('2011-01-26');
  2. $endDate = new DateTime('2011-02-02');
  3. $interval = $starDate->diff($endDate);
  4. $numberOfDays = $interval->format('%d days');
  5.  
  6. for($i = 1; $i <= $numberOfDays; $i++){
  7.      $starDate->modify("+1 days");
  8.      echo $starDate->format("Y/m/d")."<br/>";
  9. }
__________________
Saludos.
  #6 (permalink)  
Antiguo 27/01/2011, 15:20
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 15 años
Puntos: 25
Respuesta: ayuda con diffdate()

gracias JaimeSavines hacido de gand ayuda
ahora estoy ententando crear una tabla de año atraves de php o sea creat table ...
  #7 (permalink)  
Antiguo 27/01/2011, 15:24
 
Fecha de Ingreso: noviembre-2009
Mensajes: 535
Antigüedad: 15 años
Puntos: 25
Respuesta: ayuda con diffdate()

pero como puedo incluir se es un año bisiesto o no?
  #8 (permalink)  
Antiguo 27/01/2011, 16:09
 
Fecha de Ingreso: octubre-2009
Mensajes: 245
Antigüedad: 15 años, 1 mes
Puntos: 17
Respuesta: ayuda con diffdate()

Cita:
Iniciado por arros Ver Mensaje
pero como puedo incluir se es un año bisiesto o no?
No te tienes que preocupar, eso lo gestiona DateTime. Este año no es biciesto asi que si pruebas con el ejemplo cambiando las fechas vas a ver que no contempla en los calculos dias poteriores al 28 en el mes de febrero.
__________________
Saludos.

Etiquetas: Ninguno
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 22:00.