서식 지정과 파싱
참조 레이아웃 사용하기
서식 지정과 파싱은(는) CoddyKit의 무료 Go Academy 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Go Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Go Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
기준 형식
Go는 %Y와 같은 코드를 사용하지 않습니다. 대신 하나의 기준 시간을 서식의 본보기로 사용합니다.
Mon Jan 2 15:04:05 MST 2006
원하는 형식을 설명하려면 날짜를 이 형식에 정확히 맞춰 작성합니다.
package main
import (
"fmt"
"time"
)
func main() {
t := time.Date(2026, 5, 30, 9, 5, 0, 0, time.UTC)
fmt.Println(t.Format("2006-01-02"))
}이 숫자를 사용하는 이유
기준 값은 순서대로 증가합니다. 1=월, 2=일, 3=시, 4=분, 5=초, 6=년, 7=시간대입니다. 따라서 1 2 3 4 5 6은 1월 2일 03:04:05, 2006년을 의미합니다.
package main
import (
"fmt"
"time"
)
func main() {
t := time.Date(2026, 5, 30, 14, 5, 9, 0, time.UTC)
fmt.Println(t.Format("15:04:05"))
}날짜 형식 지정
형식 구성 요소를 리터럴 텍스트 및 구분 기호와 자유롭게 조합하여 어떤 날짜 문자열이든 만들 수 있습니다.
package main
import (
"fmt"
"time"
)
func main() {
t := time.Date(2026, 5, 30, 9, 0, 0, 0, time.UTC)
fmt.Println(t.Format("02/01/2006"))
}이름이 있는 구성 요소
월 이름에는 Jan 또는 January를 사용하고, 요일 이름에는 Mon 또는 Monday를 사용하세요.
package main
import (
"fmt"
"time"
)
func main() {
t := time.Date(2026, 5, 30, 9, 0, 0, 0, time.UTC)
fmt.Println(t.Format("Monday, January 2, 2006"))
}12시간제 시계와 AM/PM
12시간제 시계에는 3을 사용하고, 오전·오후를 나타내는 표시에는 PM을 사용하세요.
package main
import (
"fmt"
"time"
)
func main() {
t := time.Date(2026, 5, 30, 14, 30, 0, 0, time.UTC)
fmt.Println(t.Format("3:04 PM"))
}내장 형식 상수
패키지에는 time.RFC3339와 time.Kitchen 같은 미리 만들어진 형식이 포함되어 있으므로 숫자를 외울 필요가 없습니다.
package main
import (
"fmt"
"time"
)
func main() {
t := time.Date(2026, 5, 30, 9, 0, 0, 0, time.UTC)
fmt.Println(t.Format(time.RFC3339))
}문자열 구문 분석
time.Parse(layout, value)는 텍스트를 time.Time으로 변환합니다. 형식은 동일한 기준 시간을 사용하여 입력의 형태를 설명합니다.
package main
import (
"fmt"
"time"
)
func main() {
t, _ := time.Parse("2006-01-02", "2026-05-30")
fmt.Println(t.Year(), t.Month())
}형식은 입력과 일치해야 합니다
형식이 입력의 형태와 일치하지 않으면 Parse가 오류를 반환합니다. 항상 오류를 확인하세요.
package main
import (
"fmt"
"time"
)
func main() {
_, err := time.Parse("2006-01-02", "30/05/2026")
if err != nil {
fmt.Println("parse failed")
}
}시계가 포함된 시각 구문 분석
시와 분을 포함하려면 형식과 입력에 모두 시간 필드를 넣으세요.
package main
import (
"fmt"
"time"
)
func main() {
t, _ := time.Parse("2006-01-02 15:04", "2026-05-30 09:05")
fmt.Println(t.Hour(), t.Minute())
}왕복 변환
Parse와 Format은 서로 반대되는 작업을 합니다. 타임스탬프를 읽고, 처리한 다음, 다시 형식에 맞춰 출력할 수 있습니다.
package main
import (
"fmt"
"time"
)
func main() {
t, _ := time.Parse(time.RFC3339, "2026-05-30T09:00:00Z")
fmt.Println(t.Format("Jan 2, 2006"))
}흔한 실수: 잘못된 기준
초보자는 형식에 "2020-12-31"을 작성하는 경우가 많습니다. 이는 잘못된 방법입니다. 형식에는 예시 날짜가 아니라 기준 값(2006, 01, 02)을 사용해야 합니다.
package main
import (
"fmt"
"time"
)
func main() {
t := time.Date(2026, 5, 30, 0, 0, 0, 0, time.UTC)
fmt.Println(t.Format("2006/01/02"))
}빠른 확인
Go의 기준 날짜 형식은 어떤 문자열인가요?
복습: 형식 지정과 구문 분석
이제 시간 텍스트를 능숙하게 다룰 수 있습니다.
- 형식에는 기준 시간
2006-01-02 15:04:05를 사용합니다. Format은 문자열을 만들고,Parse는 문자열을 읽습니다.time.RFC3339같은 내장 상수를 사용하고, 구문 분석 오류를 항상 확인하세요.
package main
import (
"fmt"
"time"
)
func main() {
t, _ := time.Parse("2006-01-02", "2026-05-30")
fmt.Println(t.Format("Monday"))
}자주 묻는 질문
“서식 지정과 파싱” 강의는 무료인가요?
네 — “서식 지정과 파싱” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Go Academy 강의 전체를 잠금 해제할 수 있습니다. Go Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“서식 지정과 파싱”에서 뭘 배우나요?
참조 레이아웃 사용하기 브라우저에서 직접 실행하는 실습 코드로 Go Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Go Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Go Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.
“서식 지정과 파싱” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Go Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Go Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.