[python] 파이썬 workalendar를 사용하여 특정 날짜의 이전 영업일과 다음 영업일 사이의 모든 영업일 날짜 가져오기

일반적으로 업무 처리할 때 특정 날짜의 이전 영업일과 다음 영업일을 알아야 할 때가 있습니다. 이러한 작업은 파이썬의 workalendar 라이브러리를 사용하여 간단하게 처리할 수 있습니다. workalendar는 세계 각국의 공휴일과 영업일에 대한 정보를 제공하며, 이를 활용하여 특정 날짜의 이전 영업일과 다음 영업일을 계산할 수 있습니다.

먼저, 파이썬에서 workalendar를 설치하기 위해 pip 명령어를 사용합니다.

pip install workalendar

다음은 파이썬 코드를 사용하여 특정 날짜의 이전 영업일과 다음 영업일 사이의 모든 영업일 날짜를 가져오는 방법입니다.

from datetime import date
from workalendar.america import UnitedStates

def get_business_days(start_date, end_date):
    cal = UnitedStates()
    business_days = []

    # 특정 날짜부터 이전 영업일까지 검색
    current_date = start_date
    while current_date > end_date:
        if cal.is_working_day(current_date):
            business_days.append(current_date)
        current_date -= timedelta(days=1)

    # 특정 날짜부터 다음 영업일까지 검색
    current_date = start_date
    while current_date < end_date:
        if cal.is_working_day(current_date):
            business_days.append(current_date)
        current_date += timedelta(days=1)

    return business_days

start_date = date(2022, 7, 11)
end_date = date(2022, 7, 15)

business_days = get_business_days(start_date, end_date)

print(business_days)

위 코드에서는 UnitedStates (미국) 휴일 정보를 사용하여 영업일 검사를 합니다. 만약 다른 국가의 영업일 정보를 사용하고 싶다면, workalendar에서 해당 국가의 모듈을 import하여 사용하면 됩니다.

실행 결과는 다음과 같이 특정 날짜부터 이전 영업일과 다음 영업일 사이의 모든 영업일 날짜가 출력됩니다.

[datetime.date(2022, 7, 11), datetime.date(2022, 7, 12), datetime.date(2022, 7, 13), datetime.date(2022, 7, 14), datetime.date(2022, 7, 15)]

위와 같이 파이썬 workalendar 라이브러리를 사용하면 간단하게 특정 날짜의 이전 영업일과 다음 영업일 사이의 모든 영업일 날짜를 가져올 수 있습니다.

References