파이썬으로 날짜를 다루다 보면 몇일 전, 몇달 전, 몇일 후 , 몇년 후 의 날짜를 구해야 하는 경우가 생긴다.
하지만 단순히 수학적인 연산을 하게되면 2월 28일이 마지막인 연도의 경우 t+1을 하게되면 3월 1일이 아닌 2월 29일로 연산이 되버리는 문제가 생기게 된다.
이런경우를 쉽게 해결하기 위해서 파이썬에서는 " relativedelta " 라는 메서드를 제공해 준다.
from dateutil.relativedelta import relativedelta
먼저 위와 같이 dateutill의 relativedelta에서 relativedelta를 import 해준다.
[날짜] + relativedelta(days = -1)
다음과 같이 입력해주면 하루전의 날짜를 출력해 준다.
아래에 다양한 예시들을 적어보았다.
# 단순 날짜 계산(15일 이전 날짜)
[날짜] + relativedelta(days = -15)
# 단순 날짜 계산(15일 이후 날짜)
[날짜] + relativedelta(days = +15)
# 단순 날짜 계산(2달 전 날짜)
[날짜] + relativedelta(months = -2)
# apply, lambda 활용
df.apply(lambda x: x + relativedelta(months = -2))
# year, month, day, hour, minute, second, microsecond