Pierwszy poniedziałek w miesiącu

0

Okoliczności zewnętrzne zmusiły mnie do napisania w PHP pewnej formy kalendarza. Potrzebuję do tego funkcji int firstMonday(year,month) zwracającej numer pierwszego poniedziałku w danym miesiącu. np. firstMonday(2011,11)=7. Istnieje gotowa? Jeśli nie, to jak ją napisać?

0

Znalezione na http://filchiprogrammer.wordpress.com/2008/02/27/getting-the-first-monday-of-the-month/:

function get_firstmonday($month,$year)
   {
   $num = date(“w”,mktime(0,0,0,$month,1,$year));
   if($num>1)
      return date(“Y-M-d H:i:s”,mktime(0,0,0,$month,1,$year)+(86400*(8-$num)));
      else
         return date(“Y-M-d H:i:s”,mktime(0,0,0,$month,1,$year));
   }
0

Dzięki, trochę przerobiłem i robi to co chcę (tzn. zwraca numer dnia w miesiącu, w którym jest pierwszy poniedziałek).

  function get_firstmonday($month,$year)
  {
     $num = date("w",mktime(0,0,0,$month,1,$year));
     if($num==0)
       $num=7;
     if($num>1)
       $data=getdate(mktime(0,0,0,$month,1,$year)+(86400*(8-$num)));
     else
       $data=getdate(mktime(0,0,0,$month,1,$year));
     $num=$data["mday"];
     return $num;
   }

1 użytkowników online, w tym zalogowanych: 0, gości: 1