[python] 파이썬 workalendar를 사용하여 특정 날짜와 해당 날짜에 가장 인접한 영업일 계산하기
일반적으로 날짜 계산은 매우 중요한 작업입니다. 특히 영업일을 계산할 때는 주말 및 공휴일을 고려해야 합니다. 이를 위해 파이썬에서는 workalendar
라는 라이브러리를 사용할 수 있습니다. workalendar
는 다양한 국가 및 지역의 공휴일과 영업일을 처리할 수 있는 기능을 제공합니다.
이번 예제에서는 workalendar
를 사용하여 특정 날짜와 해당 날짜에 가장 인접한 영업일을 계산하는 방법에 대해 알아보겠습니다.
1. 라이브러리 설치
workalendar
라이브러리를 설치하기 전에 파이썬 가상환경을 설정하는 것이 좋습니다. 가상환경에서 작업하려면 다음 명령을 실행하세요:
python -m venv <가상환경 이름>
그리고 가상환경을 활성화하세요:
source <가상환경 이름>/bin/activate
이후에는 pip
명령을 사용하여 workalendar
를 설치하세요:
pip install workalendar
2. 코드 예제
다음은 workalendar
라이브러리를 사용하여 특정 날짜와 해당 날짜에 가장 인접한 영업일을 계산하는 코드 예제입니다.
from workalendar.europe import UnitedKingdom # 사용하는 국가 및 지역에 맞는 모듈을 import
# 특정 날짜와 가장 인접한 영업일 계산하기
def get_nearest_business_day(year, month, day):
cal = UnitedKingdom() # 사용하는 국가 및 지역에 맞는 캘린더 객체 생성
date = datetime.date(year, month, day)
# 특정 날짜가 영업일인 경우 바로 반환
if cal.is_working_day(date):
return date
# 특정 날짜부터 하루씩 더해가며 가장 가까운 영업일 탐색
while True:
date += datetime.timedelta(days=1)
if cal.is_working_day(date):
return date
# 특정 날짜와 가장 인접한 영업일 계산하기 예제 실행
year = 2022
month = 12
day = 31
nearest_business_day = get_nearest_business_day(year, month, day)
print("특정 날짜와 가장 인접한 영업일:", nearest_business_day)
3. 실행 결과
위의 코드 예제를 실행하면 다음과 같은 결과를 얻을 수 있습니다:
특정 날짜와 가장 인접한 영업일: 2023-01-02
위 예제에서는 2022년 12월 31일이 토요일로 주말에 해당합니다. 따라서 가장 인접한 영업일은 2023년 1월 2일인 것을 확인할 수 있습니다.
4. 결론
workalendar
라이브러리를 사용하면 특정 날짜와 해당 날짜에 가장 인접한 영업일을 쉽게 계산할 수 있습니다. 본 예제를 통해 workalendar
의 사용법을 익히고, 특정 날짜의 영업일 계산에 활용해 보시기 바랍니다.