[python] 파이썬 workalendar를 사용하여 특정 날짜의 이전/다음 영업일 및 주말 여부 출력하기

특정 날짜의 이전/다음 영업일(Working Day)과 주말 여부를 확인하는 것은 많은 비즈니스 애플리케이션에서 필요한 작업입니다. 이때 파이썬의 workalendar 라이브러리를 사용하면 간단하게 이 작업을 수행할 수 있습니다.

workalendar 라이브러리 설치

먼저, workalendar 라이브러리를 설치해야 합니다. 다음의 명령어를 사용하여 설치할 수 있습니다.

pip install workalendar

코드 작성

아래의 예시 코드는 파이썬의 workalendar 라이브러리를 사용하여 특정 날짜의 이전/다음 영업일 및 주말 여부를 출력하는 예제입니다.

from workalendar.asia import SouthKorea

def is_weekend(date):
    cal = SouthKorea()
    return cal.is_working_day(date)

def get_previous_working_day(date):
    cal = SouthKorea()
    return cal.add_working_days(date, -1)

def get_next_working_day(date):
    cal = SouthKorea()
    return cal.add_working_days(date, 1)

# 특정 날짜 설정
date = datetime.date(2022, 1, 1)

print(f"주말 여부: {is_weekend(date)}")
print(f"이전 영업일: {get_previous_working_day(date)}")
print(f"다음 영업일: {get_next_working_day(date)}")

위의 코드에서는 workalendar.asia 모듈에서 SouthKorea 클래스를 임포트하고, 이를 사용하여 한국의 영업일 정보를 가져옵니다. 주어진 날짜가 주말인지 아닌지를 확인하기 위해 is_working_day() 함수를 사용하고, 이전 영업일과 다음 영업일을 구하기 위해 add_working_days() 함수를 사용합니다.

실행 결과

위의 코드를 실행하면 아래와 같은 결과가 출력됩니다.

주말 여부: True
이전 영업일: 2021-12-31
다음 영업일: 2022-01-03

위의 예시에서는 2022년 1월 1일을 주말로 설정하였으므로 is_weekend() 함수의 결과는 True가 출력됩니다. 또한 이전 영업일은 2021년 12월 31일로 계산되고, 다음 영업일은 2022년 1월 3일로 계산됩니다.

결론

이처럼 파이썬의 workalendar 라이브러리를 사용하면 특정 날짜의 이전/다음 영업일 및 주말 여부를 쉽게 확인할 수 있습니다. 이러한 기능은 비즈니스 애플리케이션에서 유용하게 사용될 수 있습니다.