[python] dateutil을 사용하여 특정 날짜와 가장 가까운 과거 날짜 계산
일반적으로 파이썬에서 날짜와 시간과 관련된 작업을 할 때 datetime 모듈을 사용합니다. 그러나 datetime 모듈만으로는 특정 날짜와 가장 가까운 과거 날짜를 계산하기가 어려울 수 있습니다. 이럴 때 유용하게 사용할 수 있는 라이브러리 중 하나가 dateutil 입니다. dateutil은 datetime 모듈보다 훨씬 강력한 날짜 및 시간 처리 기능을 제공합니다.
1. dateutil 설치
먼저 dateutil을 설치해야 합니다. 아래의 명령어를 사용하여 설치할 수 있습니다.
pip install python-dateutil
2. 코드 예제
dateutil을 사용하여 특정 날짜와 가장 가까운 과거 날짜를 계산해보겠습니다. 아래의 코드 예제를 참고하시기 바랍니다.
from datetime import datetime
from dateutil import parser
def find_nearest_past_date(target_date, date_list):
target_datetime = parser.parse(target_date)
past_dates = [parser.parse(date) for date in date_list if parser.parse(date) < target_datetime]
nearest_past_date = max(past_dates, default=None)
return nearest_past_date
target_date = "2022-09-30"
date_list = ["2022-09-20", "2022-09-28", "2022-10-01", "2022-10-05"]
nearest_past_date = find_nearest_past_date(target_date, date_list)
print(f"Target date: {target_date}")
print(f"Nearest past date: {nearest_past_date.strftime('%Y-%m-%d') if nearest_past_date else 'None'}")
위의 코드는 find_nearest_past_date 함수를 정의하고, 해당 함수를 통해 특정 날짜와 가장 가까운 과거 날짜를 계산하는 예제입니다. 함수는 target_date와 date_list를 인자로 받아, target_date보다 작은 모든 과거 날짜들을 past_dates 리스트에 저장합니다. 최대값 함수 max를 사용하여 past_dates 리스트에서 가장 가까운 과거 날짜를 찾습니다.
위의 예제에서는 target_date를 “2022-09-30”으로 설정하고, date_list에 여러 날짜들을 넣어주었습니다. 결과적으로 출력되는 값은 target_date와 가장 가까운 과거 날짜인 “2022-09-28”이 출력됩니다.