Python

[Python] 날짜/시간 연산 (어제 날짜 구하기)

비번변경 2022. 10. 24. 23:29

개요

Python을 이용해 오늘의 매시 정각, 정오 또는 어제 날짜를 계산하고 싶다.

 

케이스대로 예시를 정리해둔다.

 

 

현재 시각 구하기

datetime 모듈을 사용하면 현재 시각을 '2022-10-11 21:07:36.221681'와 같은 형식으로 구할 수 있다.

import datetime

# Local Timezone
print(datetime.datetime.now())
print(datetime.datetime.today())

# UTC
print(datetime.datetime.utcnow())

 기본적으론 컴퓨터에 설정된 시간대를 기준으로 확인하지만, utcnow 함수를 사용하면 UTC 기준으로 확인한다.

현재 시각 구하기

 

time 모듈을 사용할 수도 있다.

import time

# Local Timezone
print(time.localtime())

# UTC
print(time.gmtime())

time 모듈 사용하여 현재 시각 구하기

 

 

정각 계산

datetime 모듈의 replace 함수를 사용하면 객체의 연, 월, 일, 시 등의 값을 변경할 수 있다. 엄밀히 말해 datetime 객체는 불변하기 때문에 새 객체를 생성하는 것과 동일하다.

import datetime

curtime = datetime.datetime.now()
print(curtime.replace(minute=0, second=0, microsecond=0))

정각 계산

 

 

오늘 날짜 구하기

datetime 모듈의 replace 함수를 사용하거나, 시:분:초 출력이 필요하지 않다면 date.today 함수를 사용할 수 있다.

import datetime

curtime = datetime.datetime.now()
print(curtime.replace(hour=0, minute=0, second=0, microsecond=0))

# 시간 출력 없는 경우
print(datetime.date.today())

오늘 날짜 구하기

 

 

어제 날짜 구하기

datetime.timedelta는 기간을 표현하기 위해 사용하며, 생성자는 주/일/시/분/초/밀리초 등을 인자로 받는다.

from datetime import timedelta
print(timedelta(days=5, hours=17, minutes=30))

timedelta

timedelta를 이용하면 산술/대소 연살자를 사용할 수 있어 직관적인 날짜/시간 계산이 가능하다. 아래는 어제 날짜를 구하는 예시이다.

import datetime

curtime = datetime.datetime.now()
one_day = datetime.timedelta(days=1)
yesterday = curtime - one_day

print(curtime)
print(yesterday)

어제 날짜 구하기

 

 

참고 문서

https://skogkatt.tistory.com/87

https://www.daleseo.com/python-datetime/

파이썬(Python) 오늘 날짜, 어제 날짜 구하기

2021.10.26 - [Python] 날짜 비교