ホームページ > バックエンド開発 > PHPチュートリアル > PHP で、月曜日から始まる特定の週番号内の曜日を抽出するにはどうすればよいですか?

PHP で、月曜日から始まる特定の週番号内の曜日を抽出するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-10-26 06:10:30
オリジナル
435 人が閲覧しました

How can I extract the days of the week within a given week number in PHP, starting with Monday?

週番号を指定した曜日の計算

この問題は、特に指定された週番号内の曜日を抽出することを目的としています。

PHP ソリューション

この計算を実行するには、次の PHP コードを利用できます:

<code class="php">$week_number = 40;
$year = 2008;
for ($day = 1; $day <= 7; $day++) {
    printf('%s\n', date('m/d/Y', strtotime($year . "W" . $week_number . $day)));
}
ログイン後にコピー

このスクリプトは次の内容を生成します。第 40 週の出力:

10/06/2008
10/07/2008
10/08/2008
10/09/2008
10/10/2008
10/11/2008
10/12/2008
ログイン後にコピー

1 週間内の日付を抽出するための代替 PHP ソリューション

以下は、動作が若干異なる適応ソリューションです:

<code class="php">function week_from_monday($date) {
    list($day, $month, $year) = explode('-', $date);

    $wkday = date('l', mktime('0', '0', '0', $month, $day, $year));

    switch ($wkday) {
        case 'Monday': $numDaysToMon = 0; break;
        case 'Tuesday': $numDaysToMon = 1; break;
        case 'Wednesday': $numDaysToMon = 2; break;
        case 'Thursday': $numDaysToMon = 3; break;
        case 'Friday': $numDaysToMon = 4; break;
        case 'Saturday': $numDaysToMon = 5; break;
        case 'Sunday': $numDaysToMon = 6; break;
    }

    $monday = mktime('0', '0', '0', $month, $day - $numDaysToMon, $year);

    $seconds_in_a_day = 86400;

    for ($i = 0; $i < 7; $i++) {
        $dates[$i] = date('Y-m-d', $monday + ($seconds_in_a_day * $i));
    }

    return $dates;
}
ログイン後にコピー

この関数は、「DD-MM-YYYY」形式の日付文字列を受け入れ、それを月曜日から始まる曜日を表す日付の配列に変換します。たとえば、日付「07-10-2008」を使用すると、次の配列が生成されます:

Array
(
    [0] => 2008-10-06
    [1] => 2008-10-07
    [2] => 2008-10-08
    [3] => 2008-10-09
    [4] => 2008-10-10
    [5] => 2008-10-11
    [6] => 2008-10-12
)</code>
ログイン後にコピー

以上がPHP で、月曜日から始まる特定の週番号内の曜日を抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート