Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python에서 날짜에 timedelta를 빼는 방법 총정리

Python 날짜 연산의 기본: timedelta로 일수 빼기

Python에서는 datetime 모듈이 제공하는 timedelta 객체를 활용하면 날짜에서 원하는 기간을 아주 간단하게 빼거나 더할 수 있습니다. 핵심 원리는 다음과 같습니다.

  1. 빼고 싶은 시간(예: 하루)만큼의 timedelta 객체를 생성합니다.
  2. 해당 객체를 날짜 값에서 빼줍니다.

기본 예제: 어제 날짜 구하기

아래 코드는 오늘 날짜에서 하루를 빼서 어제 날짜를 구하는 가장 기본적인 예제입니다.

from datetime import datetime
from datetime import timedelta

today = datetime.today()
yesterday = today - timedelta(days=1)

print(today)
print()
print(yesterday)

실행 결과

위 코드를 실행하면 다음과 같은 출력을 얻을 수 있습니다.

2017-12-29 12:28:06.531791

2017-12-28 12:28:06.531791

다양한 시간 단위 활용하기

timedelta는 일(days)뿐만 아니라 여러 시간 단위를 지원합니다. 같은 방식으로 년, 주, 시간, 분 등을 자유롭게 더하거나 뺄 수 있습니다.

from datetime import datetime, timedelta

now = datetime.now()

# 1주일 전
last_week = now - timedelta(weeks=1)

# 3시간 후
in_3_hours = now + timedelta(hours=3)

# 30분 전
30_min_ago = now - timedelta(minutes=30)

이처럼 timedelta 객체 하나만 익혀두면 복잡한 달력 계산 없이도 날짜와 시간 연산을 직관적으로 처리할 수 있습니다. 참고로 timedelta가 지원하는 인자는 weeks, days, hours, minutes, seconds, milliseconds, microseconds입니다.