[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”이 출력됩니다.