date() を使うのだけど曜日のフォーマットがいくつかある。
D, l (小文字のL), N, w が曜日のフォーマットに該当していてそれぞれ、
- D - Mon〜Sun
- l - Monday〜Sunday
- N - 1(月曜)〜7(日曜)
- w - 0(日曜)〜6(土曜)
がある。
N と w に関しては、数字で扱いやすいけど、
フォーマットの種類が 2 つあってそれぞれ開始&最後の数字も曜日も違うので人為的ミスに繋がりやすいから使わない。
サンプルコード
function day($unixtime = null) {
if (!$unixtime) {
$unixtime = null;
}
// 当日の曜日を求めるだけだったら date('D') でよい。
switch (date('D', $unixtime)) {
case 'Mon':
return '月曜日';
case 'Tue':
return '火曜日';
case 'Wed':
return '水曜日';
case 'Thu':
return '木曜日';
case 'Fri':
return '金曜日';
case 'Sat':
return '土曜日';
case 'Sun':
return '日曜日';
default:
return 'エラー';
}
}
echo day(time()); // n 曜日