3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。(jehupc.exblog.jpから移転中)

(PHP)曜日を取得する

年月日それぞれの値を渡して、日本語の曜日を取得する方法です。

date関数で、第一引数に、w を指定すると 。0 (日曜)から 6 (土曜) というように、曜日を数値で返してくれます。

PHPでは日時は mktime 関数を使うと生成できるようなので、これで生成した値を、date 関数の第二引数に入れてやればOKです。

これらを使って、日本語の曜日の入った配列を用意しておくと簡単に取得できますね。

こんな感じです。

/**

*

* 年月日から、曜日を取得する

* @param int $year

* @param int $month

* @param int $day

* @param int $type 0:数値で返す。1:3桁英曜日。2:英曜日フルスペル。3:漢字3文字。4:漢字2文字。5:漢字一文字。

*/

function GetWeekByDate($year,$month,$day,$type){

$tms = mktime(0,0,0,(int)$month,(int)$day,(int)$year);

$weekStr = "";

switch ($type) {

case 0:

//数値で返す。0 (日曜)から 6 (土曜)

$weekStr = date('w',$tms);

break;

case 1:

//曜日。3文字のテキスト形式。Mon から Sun

$weekStr = date('D',$tms);

break;

case 2:

//曜日。フルスペル形式。Sunday から Saturday

$weekStr = date('l',$tms);

break;

case 3:

//漢字3文字で返す。

$weekAry = array('日曜日' ,'月曜日', '火曜日', '水曜日','木曜日', '金曜日', '土曜日');

$weekStr = $weekAry[date('w',$tms)];

break;

case 4:

//漢字2文字で返す。

$weekAry = array('日曜' ,'月曜', '火曜', '水曜','木曜', '金曜', '土曜');

$weekStr = $weekAry[date('w',$tms)];

break;

case 5:

//漢字1文字で返す

$weekAry = array('日' ,'月', '火', '水','木', '金', '土');

$weekStr = $weekAry[date('w',$tms)];

break;

default:

$weekStr = date(D,$tms);

break;

}

return $weekStr;

}

参考:

PHPリファレンス:date

PHPリファレンス:mktime