私は月のn番目の日を計算するための汎用関数を持っています。これがあなたの問題を解決するのに役立つことを願っています。
function get_Nth_dow($dow, $occurence, $m, $y)
{
$numdays = date('t', mktime(0, 0, 0, $m, 1, $y));
$add = 7 * ($occurence - 1);
$firstdow = date('w', mktime(0, 0, 0, $m, 1, $y));
$diff = $firstdow - $dow;
$day_of_month = 1;
if ($diff > 0)
{
$day_of_month += ($add - $diff);
}
elseif ($diff < $numdays)
{
$day_of_month -= ($diff - $add);
}
return $day_of_month;
}
$DOW
=曜日(0 =日曜日、6 =土曜日)。
$X
=出現(1 =最初、2 = 3番目など)。与えられた月が
ない場合、それは最後を返します。
は金曜日の第七発生を求める場合、それは月の最後の
金曜日を返します。 $M
=月 $Y
=年
例、get_Nth_DOW(2,3,7,2009)
は第七2009年
ちょうどメモとして:あなたが忘れないようにします「of」。 – cwallenpoole
そんなにありがとう!私はそれを複雑にしていたと思った! – TH1981