파이썬에서는 다양한 외부 라이브러리를 사용하여 휴일, 영업일 등과 같은 날짜 관련 작업을 처리할 수 있습니다. workalendar는 파이썬에서 휴일과 영업일 관련 작업을 처리하는 라이브러리 중 하나입니다. 이 라이브러리를 사용하여 특정 날짜의 이전/다음 휴일과 영업일 및 주말 여부를 출력하는 예제를 작성해보겠습니다.
workalendar 설치하기
먼저 workalendar를 설치해야 합니다. pip를 사용하여 다음 명령을 실행하여 workalendar를 설치합니다.
pip install workalendar
코드 예제
이제 파이썬 코드를 작성하여 해당 기능을 구현해보겠습니다.
import datetime
from workalendar.asia import SouthKorea
def get_previous_holiday(date):
cal = SouthKorea()
prev_holiday = cal.get_previous_holiday(date)
return prev_holiday
def get_next_holiday(date):
cal = SouthKorea()
next_holiday = cal.get_next_holiday(date)
return next_holiday
def is_business_day(date):
cal = SouthKorea()
return not cal.is_holiday(date)
def is_weekend(date):
return date.weekday() >= 5
# 사용 예제
date = datetime.date(2022, 1, 1)
prev_holiday = get_previous_holiday(date)
next_holiday = get_next_holiday(date)
business_day = is_business_day(date)
weekend = is_weekend(date)
print(f'이전 휴일: {prev_holiday}')
print(f'다음 휴일: {next_holiday}')
print(f'영업일 여부: {business_day}')
print(f'주말 여부: {weekend}')
위 예제에서는 SouthKorea
클래스를 사용하여 대한민국의 휴일 정보를 가져옵니다. get_previous_holiday
함수를 사용하여 특정 날짜의 이전 휴일을 가져올 수 있고, get_next_holiday
함수를 사용하여 특정 날짜의 다음 휴일을 가져올 수 있습니다. is_business_day
함수는 특정 날짜가 영업일인지 여부를 반환하고, is_weekend
함수는 특정 날짜가 주말인지 여부를 반환합니다.
위 예제의 출력은 다음과 같습니다:
이전 휴일: 2022-01-01
다음 휴일: 2022-02-01
영업일 여부: False
주말 여부: True
이 예제에서는 2022년 1월 1일
을 기준으로 이전 휴일은 2022년 1월 1일
, 다음 휴일은 2022년 2월 1일
임을 확인할 수 있습니다. 또한 이 날짜는 영업일이 아니고, 주말에 해당하는 것도 확인할 수 있습니다.
마무리
위 예제를 통해 파이썬의 workalendar 라이브러리를 사용하여 특정 날짜의 이전/다음 휴일과 영업일 및 주말 여부를 출력하는 방법을 알아보았습니다. 이를 활용하여 휴일이나 영업일에 따른 작업 로직을 구현할 수 있습니다. 자세한 사용 방법은 workalendar 공식 문서를 참조하시기 바랍니다.