본문 바로가기
Python Code

strptime()과 strftime()의 차이점: 날짜와 문자열 사이의 변환 마스터하기

by quantWhale 2024. 3. 30.
반응형

안녕하세요. 인천고래입니다.

 

날짜와 시간을 다루는 것은 거의 모든 프로그래밍 프로젝트에서 흔히 마주치는 과제입니다.

특히, 날짜 데이터를 사용자가 읽을 수 있는 문자열로 표시하거나, 사용자 입력을 날짜 객체로 변환해야 할 때가 자주 있죠. Python에서는 이런 작업을 쉽게 할 수 있도록 strptime()과 strftime() 두 함수를 제공합니다.

 

이 두 함수는 비슷해 보일 수 있지만, 서로 다른 역할을 합니다.

이 블로그 글에서는 strptime()과 strftime()의 차이점을 이해하기 쉽게 설명하려고 합니다.

 

strptime(): 문자열을 날짜 객체로 변환하기

strptime() 함수는 "string parse time"의 약자로, 문자열 형태의 날짜를 Python의 datetime 객체로 변환하는 데 사용됩니다. 즉, 사용자로부터 입력받은 날짜와 시간을 문자열로 나타낸 것을, Python이 이해할 수 있는 실제 날짜 객체로 변환할 때 필요한 함수입니다.

사용 예시 

from datetime import datetime

date_string = "2023-03-28 12:34:56"
date_object = datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S")

print(date_object)  # 출력: 2023-03-28 12:34:56

 

위 예시에서는 "2023-03-28 12:34:56"이라는 문자열을 datetime 객체로 변환하고 있습니다.

strptime() 함수의 두 번째 인자는 문자열의 형식을 지정하는데, 이는 Python이 어떤 부분이 년도, 월, 일, 시, 분, 초인지를 인식할 수 있게 해줍니다.

 

[ 문자열 형식 ]

%Y : 앞의 빈자리를 0으로 채우는 4자리 연도 숫자

%m : 앞의 빈자리를 0으로 채우는 2자리 월 숫자

%d : 앞의 빈자리를 0으로 채우는 2자리 일 숫자

%H, %M, %S : 시, 분, 초 숫자

 

strftime(): 날짜 객체를 문자열로 변환하기

strftime() 함수는 "string format time"의 약자로, Python의 datetime 객체를 사용자가 읽을 수 있는 문자열 형태로 변환할 때 사용됩니다.

즉, 프로그램 내부에서 사용하는 날짜 객체를 로그 기록, 사용자 인터페이스 등에서 필요한 문자열 형태로 표시할 때 필요한 함수입니다.

 

사용 예시

from datetime import datetime

now = datetime.now()
date_string = now.strftime("%Y년 %m월 %d일 %H시 %M분 %S초")

print(date_string)  # 출력 예: "2023년 03월 28일 12시 34분 56초"

 

이 예시에서는 현재 시간을 나타내는 datetime 객체를 "2023년 03월 28일 12시 34분 56초"와 같은 형태의 문자열로 변환하고 있습니다. strftime() 함수를 사용하면, 날짜와 시간의 형식을 다양하게 지정할 수 있어, 다국어 지원이나 특정 형식 요구사항이 있는 경우에 유용하게 사용할 수 있습니다.

 

결론

strptime()과 strftime()은 Python에서 날짜와 문자열 사이의 변환을 도와주는 유용한 도구입니다.

strptime()은 문자열을 날짜 객체로 변환할 때, strftime()은 날짜 객체를 문자열로 변환할 때 사용됩니다.

 

이 두 함수를 적절히 활용하면, 날짜와 시간을 다루는 작업을 보다 수월하게 처리할 수 있습니다.

 

이것으로 글을 마치겠습니다. 감사합니다.

반응형
-

댓글