[python] dateutil의 rrule 모듈을 사용한 반복 날짜 생성

파이썬에서 반복되는 날짜를 생성해야 하는 경우가 있습니다. 예를 들어, 매주 특정 요일에 회의가 있는 경우 해당 날짜를 계산해야 할 수도 있습니다. 이러한 작업을 수행하기 위해 dateutil 라이브러리의 rrule 모듈을 사용할 수 있습니다.

rrule 모듈은 반복 규칙을 정의하고 이를 기반으로 날짜를 생성할 수 있는 강력한 도구입니다. 이 모듈은 dateutil 라이브러리의 일부로 제공되며, 설치하기 위해서는 pip 명령을 사용하여 python-dateutil 패키지를 설치해야 합니다.

다음은 rrule 모듈을 사용하여 특정 규칙에 따라 반복되는 날짜 목록을 생성하는 간단한 예제입니다.

from dateutil.rrule import rrule, DAILY
from datetime import datetime

start_date = datetime(2022, 1, 1)
end_date = datetime(2022, 1, 31)

# 매일 반복하는 날짜 생성
dates = list(rrule(freq=DAILY, dtstart=start_date, until=end_date))

print(dates)

위의 예제에서는 2022년 1월 1일부터 2022년 1월 31일까지의 날짜 중에서 매일 반복하는 날짜 목록을 생성합니다. 이 결과를 dates 변수에 저장하고 출력합니다.

rrule(freq, dtstart, until) 함수는 freq 파라미터에 주기를 지정하고, dtstart 파라미터에 시작 날짜를 지정한 뒤, until 파라미터에 종료 날짜를 지정하여 날짜를 생성합니다.

다음은 freq 파라미터에 사용할 수 있는 주요 주기 값 목록입니다.

위의 예제는 매일 반복하는 날짜를 생성하도록 설정되어 있습니다. 만약 매주 일정 요일에 반복하는 날짜를 생성하려면 freq 파라미터를 WEEKLY로 변경하고, byweekday 파라미터를 지정하여 요일을 설정할 수 있습니다.

더 많은 옵션과 사용법은 dateutil 공식 문서를 참조하면 도움이 됩니다.

참고 자료: