서식 지정과 파싱
strftime과 strptime 사용하기
서식 지정과 파싱은(는) CoddyKit의 무료 Python Academy 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Python Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Python Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
형식 지정과 구문 분석은 왜 필요할까요?
컴퓨터는 날짜를 객체로 저장하지만 사람은 날짜를 텍스트로 읽습니다. 형식 지정은 날짜/시간을 문자열로 바꾸고, 구문 분석은 문자열을 다시 날짜/시간으로 바꿉니다.
strftime= 문자열 FROM 시간(형식 지정)strptime= 문자열 PARSE 시간(구문 분석)
from datetime import datetime
now = datetime(2026, 5, 30, 14, 5)
print(now)첫 strftime 사용
날짜/시간 객체에서 .strftime(format)을 호출합니다. 형식 코드는 %로 시작합니다. %Y는 네 자리 연도, %m은 월, %d는 일을 나타냅니다.
from datetime import datetime
d = datetime(2026, 5, 30)
print(d.strftime('%Y-%m-%d'))시간 부분 형식 지정
시간 코드에서 %H는 시(00~23), %M은 분, %S는 초를 나타냅니다. 리터럴 텍스트와 원하는 대로 조합할 수 있습니다.
from datetime import datetime
d = datetime(2026, 5, 30, 9, 7, 3)
print(d.strftime('%H:%M:%S'))사람이 읽기 쉬운 이름
일부 코드는 이름을 생성합니다. %A는 전체 요일 이름, %B는 전체 월 이름, %b는 축약된 월 이름입니다.
from datetime import datetime
d = datetime(2026, 5, 30)
print(d.strftime('%A, %B %d, %Y'))12시간제 시계와 AM/PM
12시간제 시각에는 %I를, AM 또는 PM에는 %p를 사용합니다. 사용자에게 표시하는 화면에서 흔히 사용됩니다.
from datetime import datetime
d = datetime(2026, 5, 30, 14, 30)
print(d.strftime('%I:%M %p'))strptime으로 구문 분석
datetime.strptime(text, format)은 문자열을 날짜/시간 객체로 읽습니다. 형식은 텍스트와 코드 하나하나까지 정확히 일치해야 합니다.
from datetime import datetime
text = '2026-05-30'
d = datetime.strptime(text, '%Y-%m-%d')
print(d)
print(type(d))날짜와 시간을 함께 구문 분석하기
전체 타임스탬프를 구문 분석하려면 형식에 시간 코드를 포함합니다. 텍스트의 모든 구분 기호(하이픈, 공백, 콜론)도 패턴에 나타나야 합니다.
from datetime import datetime
text = '30/05/2026 14:05'
d = datetime.strptime(text, '%d/%m/%Y %H:%M')
print(d.year, d.hour, d.minute)왕복 처리: 구문 분석 후 형식 지정
일반적인 작업 흐름은 입력된 텍스트를 구문 분석하고, 필요한 로직을 수행한 다음, 출력에 맞게 다시 형식을 지정하는 것입니다. 이때 전혀 다른 배치로 바꿀 수도 있습니다.
from datetime import datetime
raw = '2026-05-30'
d = datetime.strptime(raw, '%Y-%m-%d')
pretty = d.strftime('%B %d, %Y')
print(pretty)ISO 형식 바로 가기
.isoformat()은 표준 ISO 8601 문자열을 생성하고, datetime.fromisoformat()은 형식 코드 없이도 그 문자열을 다시 읽습니다.
from datetime import datetime
d = datetime(2026, 5, 30, 14, 5)
s = d.isoformat()
print(s)
back = datetime.fromisoformat(s)
print(back == d)구문 분석 오류 처리
텍스트가 형식과 일치하지 않으면 strptime이 ValueError를 발생시킵니다. 입력 형식이 잘못되었을 수 있다면 try/except로 감쌉니다.
from datetime import datetime
try:
datetime.strptime('not-a-date', '%Y-%m-%d')
except ValueError as e:
print('Could not parse:', e)연중 일수와 그 밖의 기능
추가 코드로 %j는 연중 일수(001~366), %w는 숫자로 나타낸 요일(0=일요일)을 뜻합니다. 보고서에 유용합니다.
from datetime import datetime
d = datetime(2026, 5, 30)
print('Day of year:', d.strftime('%j'))빠른 확인
'2026-05-30' 문자열이 있습니다. 이 문자열을 datetime 객체로 변환하는 호출은 무엇입니까?
복습: 형식 지정과 구문 분석
기억할 내용:
strftime(fmt)는 날짜/시간을 문자열로 변환합니다(INTO).strptime(text, fmt)는 문자열을 날짜/시간으로 변환합니다(INTO).- 일반적인 코드로 날짜에는
%Y %m %d, 시간에는%H %M %S, 이름에는%A %B를 사용합니다. isoformat()과fromisoformat()은 ISO 표준을 자동으로 처리합니다.
from datetime import datetime
d = datetime.strptime('2026-05-30 14:05', '%Y-%m-%d %H:%M')
print(d.strftime('%A at %I:%M %p'))자주 묻는 질문
“서식 지정과 파싱” 강의는 무료인가요?
네 — “서식 지정과 파싱” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Python Academy 강의 전체를 잠금 해제할 수 있습니다. Python Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“서식 지정과 파싱”에서 뭘 배우나요?
strftime과 strptime 사용하기 브라우저에서 직접 실행하는 실습 코드로 Python Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Python Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Python Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.
“서식 지정과 파싱” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Python Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Python Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.