[python] dateutil의 rrule 모듈을 사용하여 날짜 범위에서 특정 요일 가져오기

파이썬 개발을 할 때, 날짜와 관련된 작업을 수행해야 할 때가 많습니다. 특히 특정 요일에 대한 작업을 처리하기 위해서는 추가적인 라이브러리가 필요할 수 있습니다. 하지만 파이썬의 dateutil 라이브러리에 포함된 rrule 모듈을 사용하면 간편하게 날짜 범위 내에서 특정 요일을 가져올 수 있습니다.

dateutil 라이브러리 설치하기

먼저, dateutil 라이브러리를 설치해야 합니다. pip를 사용하여 설치할 수 있습니다.

pip install python-dateutil

코드 예제

다음은 rrule 모듈을 사용하여 날짜 범위에서 특정 요일을 가져오는 예제 코드입니다.

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

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

# 매주 목요일인 날짜들을 가져옴
thursdays = rrule(freq=DAILY, dtstart=start_date, until=end_date, byweekday=TH)

for date in thursdays:
    print(date)

위의 코드에서는 2022년 1월 1일부터 2022년 12월 31일까지의 날짜 범위에서 매주 목요일인 날짜들을 가져오고 출력합니다.

출력 결과는 다음과 같습니다.

2022-01-06 00:00:00
2022-01-13 00:00:00
2022-01-20 00:00:00
...
2022-12-01 00:00:00
2022-12-08 00:00:00
2022-12-15 00:00:00
2022-12-22 00:00:00
2022-12-29 00:00:00

요일 옵션

위의 예제에서는 byweekday=TH로 설정하여 매주 목요일인 날짜들을 가져왔습니다. 이때 요일에 대한 옵션은 다음과 같이 설정할 수 있습니다.

다른 요일을 가져오기 위해서는 byweekday 옵션을 변경하면 됩니다.

결론

dateutil의 rrule 모듈을 사용하면 파이썬에서 날짜 범위에서 특정 요일을 쉽게 가져올 수 있습니다. 이를 활용하여 다양한 날짜 관련 작업을 효율적으로 처리할 수 있습니다.

참고 자료