PHPで指定した日付に関して、週の7日間の日付文字列を出力したいと考えています。
「2019-01-07」のような文字列がある場合に、該当の日付に関して、その週の月曜日から日曜日への文字列を7日分全て出力したいと考えております。
また、曜日は月曜日始まりです。
下記は今日に関する日付の出力ですが、「2019-01-07」のような文字列を指定して、その日付に関して行いたいという事です。
よろしくお願いいたします。
PHP
1<?php 2 echo $monday = date('Ymd', strtotime('Monday')) . '\n'; // 月曜日の日付 3 echo $tuesday = date('Ymd', strtotime('Tuesday')) . '\n'; // 火曜日の日付 4 echo $wednesday = date('Ymd', strtotime('Wednesday')) . '\n'; // 水曜日の日付 5 echo $thursday = date('Ymd', strtotime('Thursday')) . '\n'; // 木曜日の日付 6 echo $friday = date('Ymd', strtotime('Friday')) . '\n'; // 金曜日の日付 7 echo $saturday = date('Ymd', strtotime('Saturday')) . '\n'; // 土曜日の日付 8 echo $sunday = date('Ymd', strtotime('Sunday')) . '\n'; // 日曜日の日付 9?>
要件が不明なところがあります。2019/1/7はたまたま月曜日ですが、月曜以外の日付が投入されることもあるのでしょうか。
ちなみにdate("w")で出力してみると分かりますが、0が日曜日でそこから始まります。「月曜日開始で日曜日まで」ということでしょうか。
それとも「指定日を含めてその後1週間」でしょうか。
つまり、2019/1/8という日付が投入されることがあったとしたら 2019/1/8~2019/1/14なのか2019/1/7~2019/1/13なのか というところですね。月曜しか投入されないということでしたら忘れてください
あと細かいですがシングルクォーテーションだと改行コードは出力できないのでご注意ください。
「2019-01-07」は月曜日ですが、その他の曜日の日付も扱います。
指定日付から一週間ではなく、指定した日付が含まれる一週間です。
例えば、「2019-01-11」は金曜ですが、こちらの文字列から、下記の7日間分の文字列を得る事が目的です。
月曜日:2019-01-07
火曜日:2019-01-08
水曜日:2019-01-09
木曜日:2019-01-10
金曜日:2019-01-11
土曜日:2019-01-12
日曜日:2019-01-13
また、改行の件補足いただき、ありがとうございます。
了解です。回答修正します。
あとできれば要件としてそのコメントそのまま質問に対聞いただけますか?
こちらのコメント欄はデフォルト非表示なのでパッと見、回答との連動性がとれません。
回答3件
あなたの回答
tips
プレビュー