본문 바로가기
Programming/Python

[Python] 날짜 비교 및 차이 구하기

by 코딩하는 금융인 2024. 1. 29.

안녕하세요.

오늘은 파이썬에서 날짜 형식의 값을 비교하는 방법에 대해 알아보겠습니다.

 

 파이썬 날짜 비교, 차이 구하기

▣ 파이썬 datetime

파이썬 내장 모듈 중 하나로, 날짜와 시간을 다루기 위한 클래스와 함수를 제공함

 

 - datetime 모듈을 통해 datetime 객체로 변환하고 객체끼리 비교 연산자로 비교할 수 있음

* datetime(객체)  : 년, 월, 일, 시, 분 초 등의 날짜 정보 포함

from datetime import datetime

def compare_date(date_str):
    # 문자열을 datetime 객체로 변환
    date_obj = datetime.strptime(date_str, "%Y-%m-%d")
    # 현재 날짜를 datetime 객체로 얻음
    today = datetime.today()
    # 두 날짜의 차이를 계산
    diff = today - date_obj
    # 일수 차이를 출력
    print(f"날짜 차이: {diff.days}일")

compare_date("2023-01-01")
(결과) 날짜 차이: 392일

 

 - 날짜를 문자열로 입력받거나 출력할 때는 datetime.strptime(문자열 → 날짜)과 strftime(날짜 → 문자열) 함수를 사용함

from datetime import datetime

date_str = "2024-01-31" # 날짜 문자열

date_obj = datetime.strptime(date_str, "%Y-%m-%d") # datetime 객체로 변환
# print("datetime 객체:", date_obj)

new_date_str = datetime.strftime(date_obj, "%d/%m/%Y") # 새로운 형식의 문자열로 변환
# print("새로운 날짜 문자열:", new_date_str)

 

 - datetime 객체끼리는 - 연산자를 통해 차이를 계산할 수 있으며, 차이 계산 시 timedelta 객체가 반환됨

 - timedelta 객체는 두 날짜 사이의 일수(days), 초수(seconds), 마이크로초수(microseconds), total_seconds()를 가지고 있음

from datetime import datetime

today = datetime.today() # 현재 날짜
d_day = datetime(2024, 1, 31) # 비교할 날짜 (2024년 1월 31일)
diff = today - d_day # 날짜 차이

print("날짜 차이:", diff)
print("일수 차이:", diff.days) # 일수 차이
print("초수 차이:", diff.seconds) # 초수 차이
print("마이크로초수 차이:", diff.microseconds) # 마이크로초수 차이
print("전체초수 차이:", diff.total_seconds()) # 전체초수 차이
날짜 차이: -3 days, 8:09:08.918530
일수 차이: -3
초수 차이: 29348
마이크로초수 차이: 918530
전체초수 차이: -229851.08147

 

 

 

 

반응형

댓글