Ver Mensaje Individual
  #7 (permalink)  
Antiguo 23/04/2010, 10:26
cmatos22
 
Fecha de Ingreso: marzo-2010
Mensajes: 12
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Detectar numero de dia anterior a hoy

Aqui te dejo otra forma de hacerlo, pruebala.

Código PHP:
Ver original
  1. <?php
  2. function ultimoDia($mes,$ano){
  3.     $ultimo_dia=28;
  4.     while (checkdate($mes,$ultimo_dia + 1,$ano)){
  5.        $ultimo_dia++;
  6.     }
  7.     return $ultimo_dia;
  8. }
  9.  
  10. /**
  11.  * @return array
  12. */
  13. function lastFriday()
  14. {
  15.     $day = date('d');
  16.     $month = date('m');
  17.     $year = date('Y');
  18.     $found = false;
  19.  
  20.     while(!$found){
  21.         $day--;
  22.        
  23.         // Si el dia es igual a cero pasa al mes anterior
  24.         // day pasa a ser el ultimo dia del mes anterior
  25.         if($day==0){
  26.             $month--;
  27.             $day = ultimoDia($month, $year);
  28.         }
  29.        
  30.         // Si el mes es igual a cero pasa al año anterior
  31.         // y el mes pasa a ser el mes 12
  32.         if($month==0){
  33.            $year--;
  34.             $month = 12;
  35.         }
  36.        
  37.         $day_name = date('D', mktime(0,0,0, $month, $day, $year));
  38.         // encuentra el dia y lo devuelve
  39.         if($day_name == 'Fri'){
  40.             $found = true;
  41.             return array('day'      =>$day,
  42.                          'month'    => $month,
  43.                          'year'     => $year);
  44.         }
  45.     }
  46. }
  47.  
  48. $date = lastFriday();
  49. echo $date['year'].'-'.$date['month'].'-'.$date['day'];
  50. ?>