PHP で月内の日の週番号を決定する方法
月内の特定の日の週番号を決定するには、やりがいのある仕事になる。この記事では、PHP でこの問題に対する詳細な解決策を提供します。これにより、特定の日付の週番号を簡単に識別できるようになります。
解決策:
提供されている PHP 関数、 getWeeks() は、指定された日付の月の週数を計算します。 2 つのパラメータを取ります:
この関数は、最初に日付から年と月を抽出し、指定された日付の間の日数を計算することによって機能します。そしてその月の最初の日。次に、その月の日数を繰り返して、毎日が指定されたロールオーバー日に該当するかどうかを確認します。存在する場合、週数が増加します。
使用例:
<?php /** * Returns the amount of weeks into the month a date is * @param $date a YYYY-MM-DD formatted date * @param $rollover The day on which the week rolls over */ function getWeeks($date, $rollover) { $cut = substr($date, 0, 8); $daylen = 86400; $timestamp = strtotime($date); $first = strtotime($cut . "00"); $elapsed = ($timestamp - $first) / $daylen; $weeks = 1; for ($i = 1; $i <= $elapsed; $i++) { $dayfind = $cut . (strlen($i) < 2 ? '0' . $i : $i); $daytimestamp = strtotime($dayfind); $day = strtolower(date("l", $daytimestamp)); if($day == strtolower($rollover)) $weeks ++; } return $weeks; } // echo getWeeks("2011-06-11", "sunday"); //outputs 2, for the second week of the month ?>
説明:
上記の例この関数は、日付「2011-06-11」とロールオーバー日「日曜日」を指定して getWeeks() 関数を呼び出します。結果は 2 で、2011 年 6 月 11 日が日曜日のロールオーバーの 6 月の第 2 週に当たることを示します。
以上がPHPで月内の日の週番号を決定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。