[python] dateutil의 timedelta 기능 활용

파이썬에서 날짜와 시간을 다루는 데에는 여러 가지 모듈과 함수가 존재합니다. 그 중에서도 dateutil 모듈은 유용한 기능을 제공하기 때문에 많은 사람들이 사용하고 있습니다. 이번에는 dateutil 모듈의 timedelta 기능에 대해 알아보도록 하겠습니다.

timedelta란?

timedelta는 두 개의 날짜 또는 시간 간의 차이를 나타내는 데 사용되는 클래스입니다. 즉, 두 개의 날짜 또는 시간을 빼서 얻은 결과를 timedelta 객체로 나타낼 수 있습니다. timedelta 객체는 주로 날짜와 시간 간의 연산을 수행할 때 유용하게 사용됩니다.

timedelta 사용 예제

아래는 timedelta를 사용한 예제 코드입니다.

import datetime
from dateutil.relativedelta import relativedelta

# 현재 시간
now = datetime.datetime.now()

# 5일 후의 날짜
after_5_days = now + relativedelta(days=5)

# 3주 전의 날짜
before_3_weeks = now - relativedelta(weeks=3)

# 2개의 날짜 간의 차이 계산
diff = after_5_days - before_3_weeks

print("현재 시간:", now)
print("5일 후:", after_5_days)
print("3주 전:", before_3_weeks)
print("날짜 차이:", diff)

위 코드에서는 먼저 datetime 모듈에서 now() 함수를 사용하여 현재 시간을 가져옵니다. 그리고 dateutil.relativedelta 모듈에서 relativedelta 객체를 import 한 후, days 혹은 weeks와 같은 인자를 사용하여 원하는 날짜나 시간의 차이를 지정할 수 있습니다.

예제에서는 now 변수에 현재 시간을 저장하고, relativedelta 함수를 사용하여 5일 후의 날짜와 3주 전의 날짜를 계산합니다. 또한 after_5_daysbefore_3_weeks 간의 차이를 diff 변수에 저장하고 결과를 출력합니다.

결과 예제

위 예제를 실행하면 다음과 같은 결과를 얻을 수 있습니다.

현재 시간: 2022-01-01 12:00:00
5일 후: 2022-01-06 12:00:00
3주 전: 2021-12-11 12:00:00
날짜 차이: 26 days, 0:00:00

결과에서는 현재 시간, 5일 후의 날짜, 3주 전의 날짜, 그리고 두 날짜의 차이를 확인할 수 있습니다.

참고자료