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

ゴミ出しの日や雑誌の出版日など、隔週で「第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未満になったらカウントを止めるところですかね。

サンプル

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




日は、第

曜日です。


このページをシェアする

コメントを残す

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

2011-03-31