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

파이썬에서는 workalendar 패키지를 사용하여 특정 날짜의 이전/다음 영업일을 계산하거나, 주말 여부를 확인할 수 있습니다. workalendar는 다양한 국가와 지역에 대한 공휴일 및 영업일 정보를 제공하며, 휴일과 주말을 처리하는 데 유용한 함수와 클래스를 제공합니다.

1. workalendar 설치하기

workalendar 패키지는 pip를 사용하여 설치할 수 있습니다. 아래 명령어를 터미널에서 실행하여 설치해주세요.

pip install workalendar

2. 이전/다음 영업일 계산하기

workalendar를 사용하여 특정 날짜의 이전 또는 다음 영업일을 계산하는 방법은 다음과 같습니다.

from workalendar.asia import SouthKorea

cal = SouthKorea()
date = cal.add_working_days(start_date, delta)

위 코드에서 start_date는 기준 날짜를 나타내며, delta는 이전/다음 영업일을 계산하기 위한 오프셋입니다. delta > 0일 경우 다음 영업일을 계산하고, delta < 0일 경우 이전 영업일을 계산합니다. 계산된 결과는 date 변수에 저장됩니다.

아래는 예제 코드입니다.

from datetime import date
from workalendar.asia import SouthKorea

cal = SouthKorea()
start_date = date(2022, 10, 15)
delta = 5

next_working_day = cal.add_working_days(start_date, delta)

print(f"The next working day after {start_date}: {next_working_day}")

위 코드는 2022년 10월 15일부터 5일 후의 다음 영업일을 계산합니다. 계산된 결과는 출력에 표시됩니다.

3. 주말 여부 확인하기

특정 날짜가 주말에 속하는지 여부를 확인하기 위해서는 is_working_day() 함수를 사용할 수 있습니다. 아래는 예제 코드입니다.

from datetime import date
from workalendar.asia import SouthKorea

cal = SouthKorea()
date_to_check = date(2022, 10, 15)

is_working_day = cal.is_working_day(date_to_check)

if is_working_day:
    print(f"{date_to_check} is a working day.")
else:
    print(f"{date_to_check} is a weekend or a holiday.")

위 코드에서 date_to_check는 확인하고자 하는 날짜입니다. is_working_day() 함수는 주어진 날짜가 영업일인지 여부를 반환합니다.

4. 참고 자료

위의 참고 자료들에서 더 많은 기능과 사용법을 확인할 수 있습니다. workalendar를 사용하여 영업일과 주말을 다루는 작업을 더 편리하게 처리할 수 있습니다.