토리로그

Google Apps Script로 휴일 여부 체크하기

Google Apps Script로 휴일 여부 체크하기

Google Apps Script(GAS)를 사용해 특정 날짜가 공휴일인지 확인하는 방법을 공유합니다. 이 스크립트는 Google Calendar의 한국 공휴일 정보를 활용하여, 주말과 공휴일 여부를 체크하는 기능을 구현합니다.

코드 설명

다음은 isHoliday() 함수의 코드입니다.

function isHoliday(date) {
  let day = date.getDay();
  if (day == 0 || day == 6) return true;  // 토요일, 일요일은 휴일

  let calendarId = 'ko.south_korea#holiday@group.v.calendar.google.com';  // 한국의 공휴일 캘린더 ID
  let calendar = CalendarApp.getCalendarById(calendarId); 
  let events = calendar.getEventsForDay(date);
  return events.length > 0;
}

1. 주말 체크

먼저, getDay() 메소드를 사용하여 해당 날짜가 주말인지 확인합니다.

getDay()는 0에서 6까지의 숫자를 반환하며, 0은 일요일, 6은 토요일을 의미합니다.
이 함수에서, day == 0 또는 day == 6인 경우는 주말이므로 true를 반환합니다.

2. 공휴일 체크

주말이 아닌 경우, Google Calendar에서 한국의 공휴일을 조회하여 공휴일 여부를 판단합니다.

ko.south_korea#holiday@group.v.calendar.google.com는 한국 공휴일 정보를 제공하는 Google Calendar의 ID입니다.
CalendarApp.getCalendarById() 메소드를 사용하여 해당 캘린더를 불러옵니다.
getEventsForDay() 메소드를 통해 해당 날짜에 공휴일 이벤트가 있는지 확인합니다. 이벤트가 하나라도 있으면 공휴일로 간주하여 true를 반환합니다.

3. 반환값

이 함수는 주어진 날짜가 공휴일이거나 주말인 경우 true를 반환하며, 그렇지 않은 경우 false를 반환합니다.

예시

다음은 isHoliday() 함수를 사용하는 예시입니다.

let today = new Date();
if (isHoliday(today)) {
  Logger.log('오늘은 휴일입니다.');
} else {
  Logger.log('오늘은 휴일이 아닙니다.');
}

위 코드는 오늘 날짜를 기준으로 주말이나 공휴일 여부를 확인하고 결과를 로그에 출력합니다.

마무리

이 코드로 특정 날짜가 주말이나 공휴일인지 손쉽게 확인할 수 있습니다. 이를 활용해 자동화된 휴무일 알림, 일정 관리 등의 다양한 작업을 구현할 수 있습니다.