[python] dateutil의 parserinfo 클래스를 사용하여 주어진 요일과 가장 가까운 날짜지정
dateutil은 파이썬의 날짜 및 시간 처리를 지원하는 라이브러리로, 다양한 기능을 제공합니다. 그 중 하나는 parserinfo 클래스를 사용하여 주어진 요일과 가장 가까운 날짜를 지정하는 것입니다.
parserinfo 클래스는 dateutil.parser 모듈에 정의되어 있으며, 사용자가 날짜 구문 분석기 동작을 사용자 정의할 수 있도록 합니다. 이를 활용하여 특정 요일과 가장 가까운 날짜를 찾을 수 있습니다.
아래는 parserinfo 클래스를 사용하여 주어진 요일과 가장 가까운 날짜를 지정하는 예제 코드입니다.
from datetime import datetime
from dateutil.parser import parserinfo
# 주어진 요일과 가장 가까운 날짜를 찾는 함수
def find_nearest_weekday(day):
# parserinfo 클래스를 상속한 사용자 정의 클래스 생성
class MyParserInfo(parserinfo):
def __init__(self):
super().__init__()
self.daynames = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
# 사용자 정의 클래스를 사용하여 parser 객체 생성
parser = parserinfo.MyParserInfo()
# 주어진 요일을 datetime 객체로 변환
target_date = datetime.strptime(day, '%A').date()
# 주어진 요일과 가장 가까운 날짜 탐색
current_date = datetime.now().date()
while current_date.strftime('%A') != target_date.strftime('%A'):
current_date = current_date + timedelta(days=1)
return current_date
# 특정 요일과 가장 가까운 날짜 지정 (예: "Thursday"와 가장 가까운 날짜)
nearest_date = find_nearest_weekday("Thursday")
print(nearest_date)
위 예제 코드를 실행하면 “Thursday”와 가장 가까운 날짜를 출력합니다. 이와 같은 방법으로 다른 요일과 가장 가까운 날짜를 찾을 수 있습니다.
참고 문서: https://dateutil.readthedocs.io/en/stable/parser.html