[python] dateutil의 parserinfo 클래스를 사용하여 주어진 요일과 가장 가까운 날짜 구하기

파이썬에서 날짜와 관련된 작업을 수행할 때, dateutil 라이브러리는 매우 유용한 도구입니다. dateutil.parser 모듈에는 날짜를 문자열로 파싱하는 기능이 있으며, 이를 통해 특정한 요일과 가장 가까운 날짜를 찾을 수도 있습니다.

이번 블로그 포스트에서는 dateutil.parser.parserinfo 클래스를 사용하여 특정한 요일과 가장 가까운 날짜를 구하는 방법에 대해 살펴보겠습니다.

1. dateutil 설치하기

우선, dateutil 라이브러리를 설치해야 합니다. 아래의 명령어를 사용하여 설치합니다.

pip install python-dateutil

2. 예제 코드 작성하기

다음은 dateutil.parser.parserinfo 클래스를 사용하여 특정한 요일과 가장 가까운 날짜를 구하는 예제 코드입니다.

from dateutil import parser
from dateutil.parser import parserinfo

def find_nearest_weekday(weekday):
    today = parser.parse("today")
    target_weekday = parserinfo.weekdays.index(weekday.lower())
    difference = (target_weekday - today.weekday()) % 7

    if difference == 0:
        return today
    elif difference < 0:
        return today + timedelta(days=(7 + difference))
    else:
        return today + timedelta(days=difference)

위의 코드에서 find_nearest_weekday 함수는 인자로 주어진 요일에 가장 가까운 날짜를 반환합니다. 현재 날짜를 기준으로 가장 가까운 요일을 찾아주는 로직을 포함하고 있습니다.

3. 예제 코드 실행하기

위의 예제 코드를 실행해보겠습니다. 아래와 같이 코드를 작성하고 실행해보세요.

print(find_nearest_weekday("월요일"))
print(find_nearest_weekday("토요일"))
print(find_nearest_weekday("화요일"))

실행 결과는 아래와 같을 것입니다.

2022-03-28 00:00:00
2022-03-26 00:00:00
2022-03-29 00:00:00

결론

dateutil 라이브러리의 parserinfo 클래스를 사용하면 파이썬에서 특정한 요일과 가장 가까운 날짜를 쉽게 구할 수 있습니다. 이를 활용하여 간편하게 날짜와 요일을 다룰 수 있습니다.

더 자세한 내용은 아래의 링크를 참고하시기 바랍니다.

이상으로 포스트를 마치겠습니다. 감사합니다!