GASで日本の休日・祝日を判定する方法を解説します(Google Apps Script)
コピペですぐに使えます。これ結構使えるんですよね。自分で何度も参照してます。
祝日を判定する
function isHoliday() {
const today = new Date();
const calendars = CalendarApp.getCalendarsByName('日本の祝日');
const count = calendars[0].getEventsForDay(today).length;
return count > 0;
}
isWeekday()
の返り値は祝日ならtrue、祝日でなければfalseです。
解説
getCalendarsByName(name)
で「日本の祝日」という名前のカレンダーを取得します。返り値はカレンダーの配列です。
getEventsForDay(today)
で今日の日付のイベントを取得します。カレンダーに登録されたイベントの個数を返す関数なので、返り値は祝日でなければ0、祝日であれば1です。
休日を判定する
function isWeekend () {
const today = new Date();
const day = today.getDay();
return (day === 6) || (day === 0);
}
isWeekend()
の返り値は休日ならtrue、休日でなければfalseです。
休日と祝日を判定する
function main() {
const today = new Date();
if (isWeekend(today) || isHoliday(today)) {
return;
}
// 何らかの処理
}
function isWeekend (today) {
const day = today.getDay();
return (day === 6) || (day === 0);
}
function isHoliday(today){
const calendars = CalendarApp.getCalendarsByName('日本の祝日');
const count = calendars[0].getEventsForDay(today).length;
return count > 0;
}
その他、やりたいことがあれば、カレンダーのAPIを参照してみてください。
Happy Coding 🎉