본문 바로가기

개발

[Python] 일 차이 구하기 in python

반응형

datetime or time 모듈 사용시, 일 차이를 구하면 아래와 같이 할수 있습니다.

now = datetime.now()
past = datetime.strptime("20210305", "%Y%m%d")

dif = now - past; 
print(dif.days);

 

위 방식으로 차이를 구하는데, 문제는 차이 값을 일자로 바꾼다는 것입니다. 예를 들어 "2022-06-05 00:00:00"과 "2022-06-04 23:59:01" 차이가 1(=0:00:01)로 나오고 1을 days로 전환합니다. 이러면 일 차이를 구할수 없습니다.

그래서 제가 작성한 코드를 공유할까 합니다.

 

from datetime import datetime, date
import time


## 시간 인자가 string일 경우
past_string = "2022-06-08 23:59:17"
past_string_only_days = past_string.split()
now = date.today()
past = datetime.strptime(past_string_only_days, "%Y-%m-%d").date()


diff = now - past
print(diff)


## 시간 인자가 date일 경우
now = date.today()
past = past_date.date()


diff = now - past
print(diff)

db에 초까지 저장했기에 일까지만 쪼개고, 차이를 구하는 방식입니다.

이상입니다.