【PHP】指定週と曜日(第n,w曜日)の日付を取得する

指定した週と曜日(第n,w曜日)から日付を取得する関数を作ってみた。

【第n,w曜日から指定日取得関数】

function funcDesignatedDay($n, $w){
	$year_val = date(Y); // 年を取得
	$month_val = date(m); // 月を取得
	
	$arr_week = array("日", "土", "金", "木", "水", "火", "月");
	
	for($i = 0; $i <= count($arr_week)-1; $i++){
		if($w == $arr_week[$i]){
			$w_no = $i;
		}
	}
	
	// 曜日番号を取得(0:日曜日~6:土曜日)
	$week_no = date('w',strtotime("$year_val/$month_val/1"));
	
	$d = (7*$n)+1;
	if((8 - ($week_no + $w_no)) <= 0){
		$day = ($d - ($week_no + $w_no) + 7);
	}else{
		if($w_no == 0 && $week_no == 0){
			$day = ($d - ($week_no + $w_no) - 7);
		}else{
			$day = ($d - ($week_no + $w_no));
		}
	}
	return $day;
}

実際に指定日を取得してみる

【使用例】

<?php
$n = 2; // 第n
$w = "日"; // w曜日

echo funcDesignatedDay($n, $w);


function funcDesignatedDay($n, $w){
	$year_val = date(Y); // 年を取得
	$month_val = date(m); // 月を取得
	
	$arr_week = array("日", "土", "金", "木", "水", "火", "月");
	
	for($i = 0; $i <= count($arr_week)-1; $i++){
		if($w == $arr_week[$i]){
			$w_no = $i;
		}
	}
	
	// 曜日番号を取得(0:日曜日~6:土曜日)
	$week_no = date('w',strtotime("$year_val/$month_val/1"));
	
	$d = (7*$n)+1;
	if((8 - ($week_no + $w_no)) <= 0){
		$day = ($d - ($week_no + $w_no) + 7);
	}else{
		if($w_no == 0 && $week_no == 0){
			$day = ($d - ($week_no + $w_no) - 7);
		}else{
			$day = ($d - ($week_no + $w_no));
		}
	}
	return $day;
}
?>

【実行結果】

(2012.8現在)
12

【PHP】指定週と曜日(第n,w曜日)の日付を取得する” への1件のコメント

  1. ピンバック: » PHPで『第○週の○曜日を指定してソースを出力』してやんよ!!!/ときどきWEB

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>