【PHP】第何週目の何曜日は何日?を最短で算出する方法

2020-10-23    62   69

PHPのstrtotime関数は非常に便利で、カレンダーを使用した予約システムなどで活躍してくれます。
今回は、月毎に第一週目の水曜日、第二週目の水曜日は何日かを求める最短の方法をご紹介。

<?php
$y = 2020; //任意
$m = 10; //任意

$jd = cal_to_jd(CAL_GREGORIAN, $m, 1, $y);
$month_name = jdmonthname($jd, 1);
$first_wed_day = date("j", strtotime("first Wednesday of {$month_name} {$y}"));
$second_wed_day = date("j", strtotime("second Wednesday of {$month_name} {$y}"));
$third_wed_day = date("j", strtotime("third Wednesday of {$month_name} {$y}"));
$fourth_wed_day = date("j", strtotime("fourth Wednesday of {$month_name} {$y}"));

//結果
$first_wed_day (7)
$second_wed_day (14)
$third_wed_day (21)
$fourth_wed_day (28)
?>

<コードの解説>


cal_to_jd関数は、日付をユリウス積算日に変換する。ちょっと何言っているか分からない。
jdmonthname関数は、January・Februaryなど月の名前を返します。

strtotime関数の指定方法がポイント!一行で第何週の何曜日が何日かを取得してくれます。
「first Wednesday」は第一週目の水曜日ですね。あとはofの後に、何年の何月のを指定します。
何月の指定が英語表記でないといけなさそう?なので、使い慣れないcal_to_jd関数とjdmonthname関数を使用しています。

カテゴリ: PHP

comment 登録なしでご自由にご入力いただけます(^^)ぜひぜひ記事のご感想をお聞かせ下さい。

お名前とコメントは入力必須です。

コメントの文字数が短すぎます。

この内容でコメントを送る
コメントをする
この記事がお役に立てましたら是非シェアのご協力お願いします。