[python] dateutil을 사용하여 한 달의 첫 번째 월요일 찾기

소개

Python에서는 dateutil 라이브러리를 사용하여 날짜 및 시간에 대한 다양한 작업을 수행할 수 있습니다. 이 블로그 포스트에서는 dateutil을 사용하여 한 달의 첫 번째 월요일을 찾는 방법을 알아보겠습니다.

코드 예제

아래는 dateutil을 사용하여 한 달의 첫 번째 월요일을 찾는 예제 코드입니다.

from dateutil.relativedelta import relativedelta
from dateutil.rrule import rrule, WEEKLY, MO

def find_first_monday(year, month):
    start_date = datetime.datetime(year, month, 1)
    end_date = start_date + relativedelta(months=1)
    rule = rrule(WEEKLY, byweekday=MO, dtstart=start_date, until=end_date)
    first_monday = rule[0]
    return first_monday

# 사용 예시
year = 2021
month = 10
first_monday = find_first_monday(year, month)
print(first_monday)

위의 코드에서 find_first_monday 함수는 yearmonth 매개변수를 입력으로 받아 해당 월의 첫 번째 월요일을 반환합니다. dateutil.relativedelta 모듈을 사용하여 시작일과 종료일을 계산하고, dateutil.rrule 모듈을 사용하여 매주 월요일을 생성하는 규칙을 설정합니다. 반환된 규칙 중 첫 번째 월요일을 선택하여 결과를 반환합니다.

결론

dateutil 라이브러리를 사용하여 Python에서 한 달의 첫 번째 월요일을 찾을 수 있습니다. dateutil.relativedelta 모듈 및 dateutil.rrule 모듈의 기능을 활용하여 시작일과 종료일을 계산하고, 규칙을 설정하여 원하는 결과를 얻을 수 있습니다.

참고 자료