기록과 정리의 공간

[Python] datetime.timedelta 객체 본문

언어/Python

[Python] datetime.timedelta 객체

딸기맛도나쓰 2020. 8. 7. 23:42

(datetime모듈 - 공식 문서 링크)

datetime.timedelta 객체

  • datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)

    • timedelta 객체는 두 날짜나 시간의 차이인 기간을 나타낸다.

    • "지금부터 1천 시간 후는 몇 년 몇 월 몇 일 몇 시일까?" 와 같은 질문에 답하는 것에 timedelta 객체를 사용할 수 있다.

    • 인자로 주, 일, 시, 분, 초, 마이크로초 등을 매개변수로 지정하여 인스턴스화 할 수 있다.

    • 인자를 넘길 때에는 여러 가지 단위를 선택하여 지정할 수 있지만, 생성된 timedelta 객체 내부에서는 기간을 일, 초, 마이크로초세 단위로 환산하여 저장한다. 또한, 인스턴스화 할 때 매개변수를 여럿 지정하면 기간을 서로 더하여 단위를 통일한다.

      • 밀리 초 : 1000마이크로초로 변환
      • 분 : 60초로 변환
      • 시간 : 3600초로 변환
      • 주 : 7일로 변환
    • timedelta 객체는 date 객체, time 객체, datetime 객체, 그리고 동일한 timedelta 객체와 연산을 할 수 있다.

  • 예시 코드

import datetime

delta = timedelta(
        days=50,
        seconds=27,
        microseconds=10,
        milliseconds=29000,
        minutes=5,
        hours=8,
        weeks=2
    )

print(delta) # 64 days, 8:05:56.000010
# 지금으로 부터 1000시간이 지나면?

from datetime import *

now = datetime.now() # 현재 일시
after_1000h = timedelta(hours=1000)
print(now + after_1000h) # 2020-09-18 15:10:27.336137
Comments