Ver Mensaje Individual
  #5 (permalink)  
Antiguo 10/12/2017, 07:52
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Cuantos lunes tiene un año

No estimado realmente en todo x año hay un día que tiene 53 y en un bis. hay 2*53

Es más 52*7=364

Por lo tanto hay que sumar un día de modo que:
52*7+1=365, eso significa que un día tiene que tener un día de más
Para un bis:
52*7+1+1=366, eso significa que por la intercalación de días hay 2 días que tienen 53

Edito: Optimizo mi código

Código PHP:
Ver original
  1. function dayOfWeekOnYear($day,$year){
  2. $md = array(31,28,31,30,31,30,31,31,30,31,30,31); //days to use
  3. if($year%4 == 0 && (!($year%100 == 0) || $year%400 == 0)){ $md[1]++; } //if leap year +1 to february
  4.  
  5. $c = 0; //counter
  6.     for($k=0;$k<sizeof($md);$k++){ //loop for months
  7.         for($n=0;$n<$md[$k];$n++){ //loop for days
  8.             if(intval(date("N", strtotime("$year-".($k+1)."-".($n+1)))) == $day){ //if day
  9.             $c++; //count
  10.             }
  11.         }
  12.     }
  13. return $c; //return
  14. }

Saludos

Última edición por alvaro_trewhela; 10/12/2017 a las 16:06