반응형
파이썬으로 두 날짜 간의 차이를 알고 싶다면 어떻게 해야할까?
또는 시간 차이를 알려면?
시간 차이 구하는 법
from datetime import datetime
# 현재 시간을 가져온다.
now = datetime.now()
print(now)
# 비교할 과거 시점에 대한 정보
past = datetime.strptime("20210305", "%Y%m%d")
print(past)
# 단순히 빼주기만 하면 두 시간의 차이를 구할 수 있다.
diff = now - past
print(diff)
출력
2021-06-26 20:48:48.724421
2021-03-05 00:00:00
113 days, 20:48:48.724421
단순히 datetime 형식의 두 날짜를 - 해주면 된다.
여기서 일수 차이 및 추가적인 시간 차이를 구하고 싶다면 아래와 같이 날짜 차이와 시간 차이를 구할 수 있다.
일 수 차이 및 시간 차이 구하기
from datetime import datetime
now = datetime.now()
print(now)
past = datetime.strptime("20210305", "%Y%m%d")
print(past)
diff = now - past
print(diff)
# days를 통해 일 수(days) 차이 정보를 가져올 수 있다.
print("Day difference : ", diff.days)
# seconds 통해 시간 차이 정보를 초 단위로 가져올 수 있다.
print("Second difference : ", diff.seconds)
# seconds 통해 시간 차이 정보를 마이크로초 단위로 가져올 수 있다.
print("MicroSecond difference : ", diff.microseconds)
diff.days를 통해 두 시간 정보에서 일 수의 차이를 쉽게 구할 수 있다.
구체적인 시간 정보는 diff.seconds, diff.microseconds를 통해 구할 수 있다.
시간 및 분에 대한 정보는 제공하지 않아서 seconds로 부터 계산해서 구해야 한다.
1분은 60초를 뜻하고 1시간은 3600초를 뜻하니 시간과 분 정보는 아래와 같이 구할 수 있다.
from datetime import datetime
now = datetime.now()
print(now)
past = datetime.strptime("20210305", "%Y%m%d")
print(past)
diff = now - past
print(diff)
print("Day difference : ", diff.days)
print("Second difference : ", diff.seconds)
print("MicroSecond difference : ", diff.microseconds)
# Seconds -> minutes / hours
print("Hour difference : ", diff.seconds/3600)
print("Minute difference : ", diff.seconds/60)
출력
2021-06-26 20:57:19.662274
2021-03-05 00:00:00
113 days, 20:57:19.662274
Day difference : 113
Second difference : 75439
MicroSecond difference : 662274
Hour difference : 20.955277777777777
Minute difference : 1257.3166666666666
즉 2021년 6월 26일 20시 57분 19초와
2021년 3월 5일 0시 0분 0초의 차이는
총 113일하고 75439초 차이가 난다.
반응형
'Python' 카테고리의 다른 글
python 판다스(pandas) - 중복 index 제거 하기 (2) | 2021.10.11 |
---|---|
[python3] sys.stderr.write(f"ERROR: {exc}") 에러 해결법 (0) | 2021.08.13 |
[python] 폴더 있는지 체크하고 없으면 만들기 (mkdir -p) (0) | 2021.06.14 |
[python] list에서 중복되는 원소 지우기 (2) | 2021.05.30 |
[python] pycache, pyc 캐시 데이터 삭제 명령어 in linux (0) | 2021.05.30 |