[python] dateutil의 rrule 모듈을 사용하여 특정 요일이 포함된 날짜 추출

dateutil은 파이썬에서 날짜와 시간을 다루기 위한 강력한 라이브러리입니다. rrule 모듈은 날짜의 반복 규칙을 다루기 위한 모듈로, 특정 요일이 포함된 날짜를 추출하는 기능을 제공합니다. 이번 포스트에서는 dateutilrrule 모듈을 사용하여 특정 요일이 포함된 날짜를 추출하는 방법을 알아보겠습니다.

1. dateutil 설치하기

dateutil은 파이썬 표준 라이브러리에 포함되어 있지 않으므로, 먼저 설치해야 합니다. 다음 명령을 사용하여 dateutil을 설치할 수 있습니다:

pip install python-dateutil

2. rrule 모듈을 사용하여 날짜 추출하기

rrule 모듈을 사용하여 특정 요일이 포함된 날짜를 추출하기 위해서는 다음과 같은 단계를 따라야 합니다:

  1. rrule 모듈을 임포트합니다:
from dateutil.rrule import *
  1. rrule 함수를 사용하여 날짜의 반복 규칙을 정의합니다. 예를 들어, 매주 월요일을 추출하고 싶다면 다음과 같이 작성할 수 있습니다:
rule = rrule(WEEKLY, byweekday=MO)
  1. rule 객체를 사용하여 특정 기간 내의 날짜를 추출합니다. 예를 들어, 2022년 1월부터 2022년 12월까지의 날짜 중에서 매주 월요일을 추출하고 싶다면 다음과 같이 작성할 수 있습니다:
dates = list(rule.between(start_date, end_date))

이때, start_dateend_datedatetime.date 객체로서 추출할 날짜의 범위를 지정합니다.

3. 완성된 코드 예시

from dateutil.rrule import *

start_date = date(2022, 1, 1)
end_date = date(2022, 12, 31)

rule = rrule(WEEKLY, byweekday=MO)
dates = list(rule.between(start_date, end_date))

print(f"2022년 매주 월요일: {len(dates)}개")
print(dates)

위 예시 코드는 2022년에서 매주 월요일을 추출하여 결과를 출력하는 코드입니다. dates 변수에는 추출된 날짜들이 리스트 형태로 저장되어 있습니다. 추출된 날짜의 개수와 실제 날짜들을 출력하게 됩니다.

4. 참고 자료