[python] 파이썬 workalendar를 사용하여 특정 날짜의 이전 영업일과 휴일의 시간 계산하기
파이썬으로 특정 날짜의 이전 영업일과 휴일을 계산하고 싶을 때, workalendar
라이브러리를 사용하면 간단하게 수행할 수 있습니다. workalendar
는 다양한 국가와 지역의 달력과 휴일을 제공하는 라이브러리입니다. 이를 사용하여 파이썬 코드로 특정 날짜의 이전 영업일과 휴일을 계산하는 예제를 살펴보겠습니다.
1. workalendar 설치하기
먼저, workalendar
를 설치해야 합니다. 아래의 명령어를 사용하여 workalendar
를 설치할 수 있습니다.
pip install workalendar
2. 코드 작성하기
다음은 특정 날짜의 이전 영업일과 휴일을 계산하는 코드입니다.
from workalendar.asia import SouthKorea
from datetime import datetime, timedelta
def get_previous_business_day(date):
cal = SouthKorea()
while True:
date -= timedelta(days=1)
if cal.is_working_day(date):
return date
def get_holidays(date):
cal = SouthKorea()
return cal.holidays(date.year)
# 테스트 코드
date = datetime(2022, 1, 1) # 특정 날짜
previous_business_day = get_previous_business_day(date)
holidays = get_holidays(date)
print("이전 영업일:", previous_business_day)
print("휴일:", holidays)
위 코드에서는 workalendar
의 SouthKorea
클래스를 사용하여 한국의 달력과 휴일 정보를 가져옵니다. get_previous_business_day
함수는 주어진 날짜의 이전 영업일을 계산합니다. get_holidays
함수는 주어진 날짜의 휴일을 가져옵니다. 예제에서는 datetime
모듈의 datetime
클래스를 사용하여 2022년 1월 1일로 지정한 후 테스트하였습니다.
출력 결과는 다음과 같습니다.
이전 영업일: 2021-12-31
휴일: [(datetime.date(2022, 1, 1), 'New year')]
위의 예제 코드를 참고하여 원하는 날짜의 이전 영업일과 휴일을 계산해보세요. workalendar
는 다양한 국가와 지역의 달력과 휴일 정보를 제공하기 때문에 다른 국가에 대한 계산도 가능합니다.
참고 자료
- workalendar 공식 문서: https://pypi.org/project/workalendar/
- GitHub 저장소: https://github.com/peopledoc/workalendar