任意の日付が祝日かどうかを判定する案件があったので、「holiday_jp」を使わせてもらいました。ほぼほぼ公式Usage通りですが、のちの自分のために、使い方をメモしておきます。
日本の祝日に限定されたライブラリだそうです。ややこしくなくて素敵です。
GitHub – holiday-jp/holiday_jp-js: Japanese holiday.
使い方
指定期間内の祝日を調べる
var holidays = holiday_jp.between(new Date('2010-09-14'), new Date('2010-09-21'));
console.log(holidays[0]['name']); // 敬老の日
公式Usageに記載の通りです。
[‘name’]で祝日名称を返してくれることがわかりますが、その他データは以下のようになってました。
- [‘date’] 日付(例:2000)
- [‘week’] 曜日(例:月)
- [‘week_en’] 曜日(例:Monday)
- [‘name’] 祝日名(例:憲法記念日)
- [‘name_en’] 祝日名(例:Constitution Memorial Day)
任意の日付が祝日かどうか調べる
if(holiday_jp.isHoliday(new Date('2020-01-01') ) ){
//祝日だったときの処理
}
isHoliday を用意してくれていました。
(おまけ)任意の日付の曜日を調べる
べつに holiday_jp とは関係ないんですが、キッカケ案件では曜日も判定したので、ついでに書いておきます。
var weeks = [
'日曜日', //0
'月曜日', //1
'火曜日', //2
'水曜日', //3
'木曜日', //4
'金曜日', //5
'土曜日' //6
];
var date_obj = new Date('2020-01-01');
var week_day = date_obj.getDay();
console.log(weeks[week_day]); //水曜日
getDay() で 0(日曜日)~6(土曜日)が返ってきます。
曜日に表示名をつけたいときは、これに沿って配列を作っておいてあげます。