Ver Mensaje Individual
  #4 (permalink)  
Antiguo 10/08/2011, 09:54
Avatar de abimaelrc
abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Si una fecha es mas cercana que otra hacer...

Usa date/time, algo como
Código PHP:
Ver original
  1. <?php
  2. class CloseDate extends DateTime
  3. {
  4.     public function isClose( $dateToCheck, $date = null )
  5.     {
  6.         $dateToCheck = new DateTime($dateToCheck, $this->getTimezone());
  7.         $date = is_string($date)
  8.             ? new DateTime($date, $this->getTimezone())
  9.             : $this;
  10.         $interval = $date->diff($dateToCheck);
  11.  
  12.         return ($interval->format('%R') == '+');
  13.     }
  14. }
  15.  
  16. $obj = new CloseDate('2011-05-16 00:30:01', new DateTimeZone('America/Puerto_Rico'));
  17.  
  18. $date = '2011-02-15';
  19. if($obj->isClose($date)){
  20.     echo 'Esta cercana a ' . $date . '<br />';
  21. }
  22.  
  23. $date = '2011-08-15';
  24. if($obj->isClose($date)){
  25.     echo 'Esta cercana a ' . $date . '<br />';
  26. }
  27.  
  28. $dates = array('2011-02-15', '2011-08-15');
  29. foreach($dates as $date){
  30.     if($obj->isClose($date, '2011-01-01')){
  31.         echo 'Esta cercana a ' . $date . '<br />';
  32.         break;
  33.     }
  34. }
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Última edición por abimaelrc; 10/08/2011 a las 10:10