어떤 날짜가 공휴일 또는 휴일인지 확인하는 방법에 대해서 알아보겠습니다.

1. 공휴일 확인 방법

휴일 외에, 개천절 같은 공휴일은 holidays 라이브러리로 확인할 수 있습니다.

holidays 라이브러리는 아래와 같이 pip로 설치할 수 있습니다.

$ pip install holidays

아래 예제는 holidays를 사용하여 어떤 날짜가 공휴일인지 확인하는 예제입니다.

  • holidays.SouthKorea() : 대한민국 공휴일에 대한 holidays 객체 생성
  • date.fromisoformat(date_string) : 문자열을 date 객체로 변환
  • if check_date in kr_holidays : 날짜가 공휴일에 포함되어있는지 체크
import holidays
from datetime import date

# 대한민국 공휴일에 대한 holidays 객체 생성
kr_holidays = holidays.SouthKorea()

# 확인할 날짜를 문자열로 입력
date_string = "2023-10-03"

# 문자열을 date 객체로 변환
check_date = date.fromisoformat(date_string)

if check_date in kr_holidays:
    print(f"{check_date}은 대한민국 공휴일입니다.")
else:
    print(f"{check_date}은 대한민국 공휴일이 아닙니다.")

Output:

2023-10-03은 대한민국 공휴일입니다.

2. 주말 확인 방법

어떤 날짜가 주말(토요일, 일요일)인지 확인하려면 datetime의 weekday()를 이용하여 구현할 수 있습니다.

  • datetime(year, month, day) : 특정 날짜의 datetime 객체 생성
  • date_obj.weekday() : 특정 날짜의 요일 정보를 0에서 6의 숫자로 리턴 (0: 월요일, 1: 화요일, …, 6: 일요일)
  • if day_of_week == 5 or day_of_week == 6 : 요일이 토요일인지 일요일인지 확인
from datetime import datetime

# 확인할 날짜
year = 2023
month = 9
day = 10

# datetime 객체로 변환
date_obj = datetime(year, month, day)

# 날짜의 요일 확인 (0: 월요일, 1: 화요일, ..., 6: 일요일)
day_of_week = date_obj.weekday()

# 날짜가 토요일 또는 일요일인지 확인
if day_of_week == 5 or day_of_week == 6:
    print(f"{year}{month}{day}일은 주말입니다.")
else:
    print(f"{year}{month}{day}일은 주말이 아닙니다.")

Output:

2023년 9월 10일은 주말입니다.