Python 문자열을 날짜, 시간으로 변환하는 방법 (string to date, string to time) - strptime
Python 에서 문자열을 날짜, 시간으로 변환하는 방법을 알려드리도록 하겠습니다.
Python 에서 strptime() 을 사용하시면 문자열을 날짜, 시간으로 변경할 수 있습니다.
strptime()
from datetime import datetime
import time
datetime_string = "2021년 12월 31일 13시 35분 42.657813초"
datetime_format = "%Y년 %m월 %d일 %H시 %M분 %S.%f초"
datetime_result = datetime.strptime(datetime_string, datetime_format)
print(type(datetime_result)) # <class 'datetime.datetime'>
print(datetime_result) # 2021-12-31 13:35:42.657813
time_result = time.strptime(datetime_string, datetime_format)
print(type(time_result)) # <class 'time.struct_time'>
print(time_result) # time.struct_time(tm_year=2021, tm_mon=12, tm_mday=31, tm_hour=13, tm_min=35, tm_sec=42, tm_wday=4, tm_yday=365, tm_isdst=-1)
datetime_string = "2021-12-31 13:35:42.657813"
datetime_format = "%Y-%m-%d %H:%M:%S.%f"
datetime_result = datetime.strptime(datetime_string, datetime_format)
print(type(datetime_result)) # <class 'datetime.datetime'>
print(datetime_result) # 2021-12-31 13:35:42.657813
time_result = time.strptime(datetime_string, datetime_format)
print(type(time_result)) # <class 'time.struct_time'>
print(time_result) # time.struct_time(tm_year=2021, tm_mon=12, tm_mday=31, tm_hour=13, tm_min=35, tm_sec=42, tm_wday=4, tm_yday=365, tm_isdst=-1)
datetime_string = "12/31 2021"
datetime_format = "%m/%d %Y"
datetime_result = datetime.strptime(datetime_string, datetime_format)
print(type(datetime_result)) # <class 'datetime.datetime'>
print(datetime_result) # 2021-12-31 00:00:00
time_result = time.strptime(datetime_string, datetime_format)
print(type(time_result)) # <class 'time.struct_time'>
print(time_result) # time.struct_time(tm_year=2021, tm_mon=12, tm_mday=31, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=365, tm_isdst=-1)
strptime() 을 사용하여 위와 같이 문자열을 날짜 및 시간 타입의 datetime 객체로 변환하여 사용할 수 있습니다.
datetime 모듈 뿐만 아니라 time 모듈에도 사용 가능합니다.
strptime()에 사용되는 포맷 코드는 예시에 사용된 것 이외에도 아주 많은 것들이 있습니다.
strptime 포맷 코드 표
그룹 | 코드 | 의미 |
년 | %Y | 연도 (전체) |
%y | 연도 (뒤에 2자리만) | |
월 | %m | 월 |
%B | Locale 월 표현 (전체) | |
%b | Locale 월 표현 (축약형) | |
일 | %d | 일 |
%j | 연중 일 | |
시 | %H | 시 (24시간제) |
%I | 시 (12시간제) | |
%p | Locale 오전, 오후 | |
분 | %M | 분 |
초 | %S | 초 |
마이크로초 | %f | 마이크로초 |
요일 | %w | 요일 (0 : 일요일, 6일 : 토요일) |
%A | Locale 요일 (전체) | |
%a | Locale 요일 (축약형) | |
주 | %W | 연중 몇 번째 주인지 표현 (월요일 시작 기준) |
%U | 연중 몇 번째 주인지 표현 (일요일 시작 기준) | |
날짜 표현 | %c | Locale 날짜와 시간 표현 |
%x | Locale 날짜 표현 | |
%X | Locale 시간 표현 | |
문자 표현 | %% | 리터럴 '%' 문자 |
위 표를 참고하셔서 원하는 포맷으로 날짜 및 시간 형식을 원하는 형식의 문자열로 변경하여 사용하시면 되겠습니다.
이상으로 Python에서 문자열을 날짜 및 시간으로 변환하는 방법에 대한 설명을 마치도록 하겠습니다.
관련 정보
도움이 되셨다면 공감, 댓글 부탁드립니다!
궁금하신 점이나 요청사항은 언제든지 말씀해주세요!
피드백도 언제나 환영입니다!
감사합니다.
참고자료 : https://docs.python.org/ko/3/library/datetime.html#strftime-and-strptime-behavior
'Developer > Python' 카테고리의 다른 글
Python URL Encode, Decode 하는 방법 (0) | 2022.01.01 |
---|---|
Python List 배열 요소 중복 횟수 구하는 방법 (count duplicates in list) (0) | 2021.12.31 |
Python 날짜, 시간을 문자열로 변환하는 방법 (date to string, time to string) - strftime (0) | 2021.12.29 |
Python 현재 날짜, 현재 시간 구하는 2가지 방법 (datetime, time) (0) | 2021.12.28 |
Python List 배열 중복 제거 방법 (순서 유지 방법, 순서 유지 하지 않는 방법) (0) | 2021.12.27 |
댓글