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
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;
}