[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
공식 문서: https://workalendar.readthedocs.io/en/latest/workalendar
GitHub 저장소: https://github.com/peopledoc/workalendar
위의 참고 자료들에서 더 많은 기능과 사용법을 확인할 수 있습니다. workalendar
를 사용하여 영업일과 주말을 다루는 작업을 더 편리하게 처리할 수 있습니다.