JavaScriptで日付から「第○曜日」(何番目の曜日か)を調べる方法

presented by 役に立つかもしれないBlog

ゴミ出しの日や雑誌の出版日など、隔週で「第2、第4水曜日」などの情報を調べる方法を探してもパッと見当たらなかったので、JavaScriptで作ってみました。

getIndexDay関数(自作)

使いやすい関数にするために、引数にDateオブジェクトを渡す方法と、年月日を配列で渡す方法が利用できます。

/**
 * 日付から、第○の曜日かを返す関数
 *
 * 日付パラメーターには、Dateオブジェクトインスタンスか、
 * 年月日の配列(例:[2011,3,11])を指定します。
 *
 * @param Date|array 日付パラメーター
 * @return integer
 */
function getIndexDay(param) {
	try {
		param.getDate();
		var dte = param;
	} catch (e) {
		var dte = new Date(param[0],param[1],param[2]);
	}
	var c = 1;
	for (var i=dte.getDate(); i>7; i-=7) c++;
	return c;
}

ポイントは、引数で指定した日から7日づつ減算していき、日が7未満になったらカウントを止めるところですかね。

サンプル

以下にサンプルを置いてみたので試しに使ってみてください。 ただし、閏年(うるうどし)チェックは省いてあります。

日は、第 曜日です。

    このエントリーをはてなブックマークに追加

このページに関連のある記事はこちら

コメントフォーム