2022. 5. 25. 00:07ㆍPython
날짜 및 시간은 표현 방법이 매우 다양하고, 입력 형식에 따라 string, numeric, datetime 과 같은 타입을 가질 수 있다. 이와 같은 날짜형 데이터를 원하는 형태로 변경하기 위해서 꼭 알아야할 메서드로 strftime 과 strptime 이 있다. 두 메서드의 차이를 이해하기 위해 이름의 의미와 역할에 대해 정리해보았다.
1. 요약
이름 (f/p) | 역할 | |
strftime | f (format) | datetime → string |
strptime | p (parse) | string → datetime |
2. strftime
strftime 은 날짜형 객체를 주어진 포맷의 문자열로 변환한다.
(예시)
from datetime import datetime
dt = datetime(2022,5,1,12,30,0)
dt_to_str = dt.strftime("%Y/%m/%d")
print(dt)
print(dt_to_str)

datetime 객체 이외에 date, time 객체에도 적용 가능하다.
3. strptime
strptime 은 문자열을 주어진 포맷으로 읽어 datetime 객체로 변환한다.
(예시)
from datetime import datetime
str1 = "2022-12-25"
str2 = "25/12/22"
str3 = "20221225"
str_to_dt1 = datetime.strptime(str1, "%Y-%m-%d")
str_to_dt2 = datetime.strptime(str2, "%d/%m/%y")
str_to_dt3 = datetime.strptime(str3, "%Y%m%d")
print(str_to_dt1)
print(str_to_dt2)
print(str_to_dt3)

예시와 같이 다양한 형태로 표현된 '2022년 12월 25일' 문자열을 동일한 datetime 객체로 변환하여 출력되는 것을 확인할 수 있다. strptime 은 strftime 과 달리 datetime 객체에만 적용할 수 있다.
pandas dataframe 에 적용할 경우 datetime 형 변수를 원하는 문자열로 변환하기 위해 strftime 함수를 사용할 수 있다. 하지만 문자열을 datetime 객체로 변환하기 위해서는 strptime이 아닌 pd.to_datetime() 함수를 사용해야 한다.
4. 참고
[1] https://www.delftstack.com/ko/howto/python/how-to-convert-string-to-datetime/
[2] https://velog.io/@hyelimchoi1223/Python-strptime-vs-strftime
'Python' 카테고리의 다른 글
효율적인 프로젝트 관리를 위한 가상환경 구축 방법 (0) | 2023.12.11 |
---|---|
pandas.date_range - 주기적인 날짜 데이터 생성하기 (0) | 2022.07.05 |
[python] ConfigParser 이용한 외부인자 관리 (0) | 2022.06.07 |
[Python] Powerful library for EDA - Pandas Profiling (0) | 2022.05.16 |
[Python] pandas.melt() (0) | 2022.05.10 |