やったこと

webサービスを作るときに考えたことを垂れ流します

【PHP】指定した日時の週の月曜日を求める!

指定した日時の週を計算して、その週の月曜日の日時を返却するよ!
コードは下記みたいな感じ!

//例えば2020年03月10日をセット
$ymd = "20200310";

$ymd_time = strtotime($ymd);
$week_num = date("w",$ymd_time);

if ($week_num == 0){
//日曜日だった場合
  $monday = date('Ymd', strtotime("-6 day", $ymd_time));
}else{
  $ymd_time = $ymd_time + 24*60*60;
  $monday = date('Ymd', strtotime("-{$week_num} day", $ymd_time));
}

//月曜日の日時を出力
echo $monday;

2020年3月21日(土曜)を入力すると → 2020年3月16日(月曜)が返却される。
2020年3月22日(日曜)を入力すると → 2020年3月16日(月曜)が返却される。
2020年3月23日(月曜)を入力すると → 2020年3月23日(月曜)が返却される。
2020年3月24日(火曜)を入力すると → 2020年3月23日(月曜)が返却される。

みたいな挙動になるよ!

もっとうまい計算方法あるかもしれないけど、頭悪いからよく分からなかった・・。
でも計算できたらかこれでいい!

以上!