# javascriptで、任意の月の特定曜日を書き出す
練習用の投稿になります。
取得方法の概要
(1) 現在の日付から月を取得
(2) 月の日数を取得
(3) 日数の中で、条件に該当する日だけを書き出す
##(1) 現在の日付から、今月が何月であるかを取得する
現在の日付を取得
var today = new Date();
現在の日付から、西暦の取得
var y = today.getFullYear();
現在の日付から、月の取得
実行結果は0から数えた番号(1月であれば0、2月であれば1)で返されるので、
月の数字に直すには、+ 1をします。
var m = today.getMonth();
var mm = m + 1;
##(2) 一か月の日数を取得
取得した月を利用して、月間日数を取得
new Date(西暦,月,0) とすることで、その月の最終日を取得する事ができます。
取得した最終日から getDate() 関数で日だけを取り出します。
var d = new Date(y, mm, 0).getDate();
##(3) 特定の曜日の日だけをピックアップ
取得した初日~最大日数までの中で、該当する日をピックアップ
1日から始め、最終日まで処理を繰り返していきます。
var i;
for (i = 1; i <= d; i++) {
// [i]日が一週間の中で何番目かを取得。実行結果は0から数えた番号で返されます。
var w = new Date(y, m, [i]).getDay();
// 取得した w はそのままでは曜日の文字にはならないので、配列を利用して日本語を書き出します
var ww = ['日', '月', '火', '水', '木', '金', '土'];
// [i]日の曜日が、日曜と土曜の時だけ書き出す
if (w === 0 || w === 6) {
window.console.log(y + '年' + mm + '月' + [i] + '日' + (ww[w]) + '曜日');
}
}
## 実行結果
2018年11月3日土曜日
2018年11月4日日曜日
2018年11月10日土曜日
2018年11月11日日曜日
2018年11月17日土曜日
2018年11月18日日曜日
2018年11月24日土曜日
2018年11月25日日曜日