[Python] 공휴일, 주말 확인 방법
April 19, 2024
어떤 날짜가 공휴일 또는 휴일인지 확인하는 방법에 대해서 알아보겠습니다.
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일은 주말입니다.