[python] 파이썬 workalendar를 사용하여 특정 날짜의 이전/다음 영업일 혹은 주말이 포함된 휴일 사이의 모든 날짜 가져오기
파이썬에서 업무 관련된 일정을 다루기 위해 workalendar
라는 라이브러리를 사용할 수 있습니다. 이 라이브러리를 사용하면 특정 날짜 기준으로 이전/다음 영업일로 전환하거나, 주말이나 휴일을 포함하는 날짜 범위를 구할 수 있습니다.
workalendar
설치하기
workalendar
를 사용하기 위해서는 먼저 해당 라이브러리를 설치해야 합니다. 아래의 명령어를 사용하여 workalendar
를 설치해 주세요.
pip install workalendar
이전/다음 영업일 구하기
특정 날짜에 대해 이전 또는 다음 영업일을 구하기 위해서는 workalendar
의 Calendar
클래스를 사용합니다. 아래의 코드는 현재 날짜를 기준으로 다음 영업일을 구하는 예시입니다.
import datetime
from workalendar.asia import SouthKorea
cal = SouthKorea()
today = datetime.date.today()
next_working_day = cal.add_working_days(today, 1)
print(next_working_day)
이전 영업일을 구하려면 add_working_days()
메소드의 두 번째 인자로 음수 값을 넣어주면 됩니다.
주말이나 휴일이 포함된 날짜 범위 가져오기
workalendar
를 사용하여 주말이나 휴일이 포함된 날짜 범위를 구하기 위해서는 Calendar
클래스의 workday
메소드를 사용합니다. 아래의 코드는 특정 날짜를 기준으로 10일 간의 주말과 휴일을 포함한 날짜 범위를 가져오는 예시입니다.
import datetime
from workalendar.asia import SouthKorea
cal = SouthKorea()
start_date = datetime.date(2022, 1, 1)
end_date = start_date + datetime.timedelta(days=10)
date_range = cal.workday(start_date, end_date)
print(date_range)
위의 코드를 실행하면 start_date
부터 end_date
까지의 날짜 중에서 주말이나 휴일을 제외한 모든 날짜가 출력됩니다.
이와 같이 workalendar
를 사용하면 특정 날짜의 이전/다음 영업일을 구하거나, 주말이나 휴일이 포함된 날짜 범위를 손쉽게 구할 수 있습니다.