[python] dateutil의 rrule 모듈을 사용하여 특정 요일이 포함된 날짜 리스트 생성
dateutil은 파이썬에서 날짜 및 시간 관련 작업을 수행하기 위한 유용한 라이브러리입니다. 이 라이브러리의 rrule 모듈을 사용하면 특정 요일이 포함된 날짜 리스트를 쉽게 생성할 수 있습니다.
rrule 모듈의 사용
rrule 모듈은 반복 규칙을 정의하고 이를 기반으로 날짜 리스트를 생성하는 데 사용됩니다. 특히, 다음과 같은 파라미터를 사용하여 규칙을 생성할 수 있습니다.
- freq: 반복 주기를 지정합니다. 주 단위, 일 단위 등 다양한 옵션을 제공합니다.
- byweekday: 포함할 특정 요일을 지정합니다. 월요일, 화요일 등을 선택할 수 있습니다.
- dtstart: 규칙의 시작 날짜를 지정합니다.
예제 코드
다음은 rrule 모듈을 사용하여 특정 요일이 포함된 날짜 리스트를 생성하는 예제입니다.
from dateutil import rrule
from datetime import datetime, timedelta
startdate = datetime(2022, 1, 1)
enddate = datetime(2022, 12, 31)
rule = rrule.rrule(rrule.WEEKLY, byweekday=rrule.SA, dtstart=startdate)
dates = []
for dt in rule.between(startdate, enddate):
dates.append(dt.date())
print(dates)
위의 예제 코드에서는 매주 토요일(byweekday=rrule.SA
)을 포함하는 날짜 리스트를 생성합니다. 시작 날짜와 종료 날짜 사이의 모든 토요일 날짜를 가져와서 dates
리스트에 추가하고 출력합니다.
결과
위의 코드를 실행하면 2022년의 모든 토요일 날짜가 출력됩니다.
[datetime.date(2022, 1, 1), datetime.date(2022, 1, 8), datetime.date(2022, 1, 15), ...]
이를 통해 dateutil의 rrule 모듈을 사용하여 특정 요일이 포함된 날짜 리스트를 손쉽게 생성할 수 있습니다.