반응형
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에 초까지 저장했기에 일까지만 쪼개고, 차이를 구하는 방식입니다.
이상입니다.
'개발' 카테고리의 다른 글
[Javascript] localStorage, sessionStorage, cookie의 의외점 (0) | 2022.06.12 |
---|---|
[Python] TypeError: unsupported operand type(s) for -: 'datetime.date' and 'datetime.datetime' (0) | 2022.06.11 |
[python] background process in python - (2) (0) | 2022.06.09 |
[AWS] EC2 인스턴스 유형 변경 (0) | 2022.06.08 |
[Python] pip3 install dotenv error (0) | 2022.06.07 |