[python] dateutil을 사용하여 특정 날짜와 가장 가까운 이전 날짜 계산
파이썬에서 특정 날짜와 가장 가까운 이전 날짜를 계산하는 방법에는 다양한 방법이 있습니다. 그 중에서도 dateutil 패키지를 사용하는 방법을 알아보겠습니다.
dateutil 패키지 설치하기
먼저 다음 명령어를 사용하여 dateutil 패키지를 설치해야 합니다.
pip install python-dateutil
dateutil을 사용한 코드 예시
다음은 dateutil을 사용하여 특정 날짜와 가장 가까운 이전 날짜를 계산하는 예시 코드입니다.
from dateutil import parser
from datetime import datetime
def get_closest_previous_date(target_date_str, date_list):
target_date = parser.parse(target_date_str).date()
previous_dates = [parser.parse(date_str).date() for date_str in date_list
if parser.parse(date_str).date() < target_date]
if previous_dates:
closest_previous_date = max(previous_dates)
return closest_previous_date
else:
return None
target_date_str = "2022-12-01"
date_list = ["2022-11-30", "2022-11-29", "2022-11-28", "2022-11-27"]
closest_previous_date = get_closest_previous_date(target_date_str, date_list)
if closest_previous_date:
print(f"The closest previous date to {target_date_str} is {closest_previous_date}.")
else:
print("There is no previous date.")
위 코드에서는 get_closest_previous_date()
함수를 정의하여 특정 날짜와 가장 가까운 이전 날짜를 계산합니다. 함수는 먼저 문자열 형태로 받은 특정 날짜와 리스트 형태로 받은 날짜 목록을 parser.parse()
를 사용하여 날짜 객체로 변환합니다. 그 후, target_date
보다 작은 날짜들을 선택하여 previous_dates
리스트에 저장합니다. 이후 previous_dates
가 비어있지 않은 경우, max()
함수를 사용하여 가장 가까운 이전 날짜를 선택하고 반환합니다. previous_dates
가 비어있는 경우, 이전 날짜가 없다는 의미이므로 None을 반환합니다.
위 예시 코드를 실행하면, 2022년 12월 1일과 가장 가까운 이전 날짜인 2022년 11월 30일이 출력됩니다.
결론
위 예시 코드를 통해 dateutil을 사용하여 특정 날짜와 가장 가까운 이전 날짜를 계산하는 방법을 알아보았습니다. dateutil은 파이썬에서 날짜와 시간을 다루는데 유용한 패키지이므로 앞으로 날짜 관련 작업을 할 때 유용하게 활용할 수 있습니다.