본문 바로가기

개발공부

[Python] timedelta 함수의 사용법

현재를 기준으로 x초 전, x분 전, x일 전의 시간을 구해 함수에 적용하고 싶다면 어떻게 해야 할까?

timedelta 함수를 사용하면 된다.

 

기본적인 사용방법은 다음과 같다.

1
2
3
4
from datetime import datetime, timedelta
 
three_hour_ago = datetime.now() - timedelta(hours=3)
one_year_ago = datetime.today() - timedelta(days=365)
cs

three_hours_ago에는 코드의 실행 시점을 기준으로 3시간 전, one_year_ago에는 1년 전의 시간 데이터가 들어간다.

 

구글링을 해보니 timedelta에 'months'라는 값을 넣어 3달 전 등 분기를 기준으로 데이터를 찾기 어려운 문제점이 있었는데, 이 때는 relativedelta라는 또 다른 함수를 사용하면 된다.

 

1
2
3
from dateutil.relativedelta import relativedelta
 
three_months_ago = datetime.today() - relativedelta(months=3)
cs

 

결론 : 파이썬은 편리하지만 라이브러리가 몹시 많아 일일히 기억하기 힘들다.