안녕하세요.
오늘은 파이썬에서 날짜 형식의 값을 비교하는 방법에 대해 알아보겠습니다.
파이썬 날짜 비교, 차이 구하기
▣ 파이썬 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
반응형
'Programming > Python' 카테고리의 다른 글
[Python] TTS(Text-To-Speech) 만들기 gtts (44) | 2024.02.25 |
---|---|
[Python] 구글 바드 API 사용법 (3) | 2024.01.30 |
[Python] 파이썬 count 활용 및 예시 (value_counts) (0) | 2024.01.28 |
[Python] 텔레그램 API 발급 및 파이썬 환경 구축 (4) | 2024.01.22 |
[Python] fileinput 파일 수정하기 (0) | 2024.01.21 |
댓글