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未満になったらカウントを止めるところですかね。
サンプル
以下にサンプルを置いてみたので試しに使ってみてください。 ただし、閏年(うるうどし)チェックは省いてあります。
年
月
日は、第
○
○曜日です。
Auto Amazon Links: プロダクトが見つかりません。
2011-03-31