[python] dateutil을 사용하여 주어진 날짜와 가장 가까운 평일 계산

일반적으로 날짜와 관련된 작업을 다루는데 있어서 dateutil 라이브러리는 매우 유용한 도구입니다. dateutil은 파이썬의 기본 datetime 모듈을 보완하는 많은 기능을 제공합니다. 이번 포스트에서는 dateutil을 사용하여 주어진 날짜와 가장 가까운 평일을 계산하는 방법을 알아보겠습니다.

dateutil 라이브러리 설치

먼저 dateutil 라이브러리를 설치해야 합니다. 아래의 명령을 사용하여 pip를 이용해 설치할 수 있습니다.

pip install python-dateutil

코드 예제

다음은 dateutil을 사용하여 주어진 날짜와 가장 가까운 평일을 계산하는 예제 코드입니다.

from datetime import datetime
from dateutil import rrule

def nearest_weekday(date):
    if date.weekday() > 4:
        # 주말일 경우
        next_weekday = rrule.rrule(
            rrule.DAILY,
            dtstart=date + timedelta(days=1),
            byweekday=(rrule.MO, rrule.TU, rrule.WE, rrule.TH, rrule.FR),
            count=1
        )[0]
        return next_weekday.date()
    else:
        # 평일일 경우
        return date.date()

# 사용 예시
given_date = datetime(2022, 12, 31)
nearest_weekday = nearest_weekday(given_date)
print(nearest_weekday)

이 코드는 nearest_weekday 함수를 정의하고, 주어진 날짜가 주말인 경우 다음 평일을 계산하여 반환하도록 구현되어 있습니다. 주말이 아닌 경우에는 그대로 해당 날짜를 반환합니다. 위의 예제는 given_date 변수를 2022년 12월 31일로 설정하고, nearest_weekday 함수를 호출하여 가장 가까운 평일을 계산하고 출력합니다.

참고 자료

dateutil 라이브러리는 다양한 기능을 제공하기 때문에 위의 예제 코드 외에도 다양한 활용 방법이 있습니다. 상세한 사항은 공식 문서 및 파이썬 공식 문서를 참고하시면 됩니다.