Time and Formatting
Format Layouts
Go formats time values with the special reference time 2006-01-02 15:04:05.
layout
A Go layout is an example of the output shape, written with the reference date and time values.
Format Layouts
format_layouts.go
Replay: real traced execution (multi-file project)
package main
import (
"fmt"
"time"
)
func main() {
var layout = "2006-01-02"
meeting := time.Date(2026, time.May, 28, 14, 45, 0, 0, time.UTC)
formatted := meeting.Format(layout)
fmt.Println("layout=", layout)
fmt.Println("formatted=", formatted)
fmt.Println("utc=", meeting.Location())
}
package main
import (
"fmt"
"time"
)
func main() {
var layout = "02 Jan 2006"
meeting := time.Date(2026, time.May, 28, 14, 45, 0, 0, time.UTC)
formatted := meeting.Format(layout)
fmt.Println("layout=", layout)
fmt.Println("formatted=", formatted)
fmt.Println("utc=", meeting.Location())
}
package main
import (
"fmt"
"time"
)
func main() {
var layout = "15:04"
meeting := time.Date(2026, time.May, 28, 14, 45, 0, 0, time.UTC)
formatted := meeting.Format(layout)
fmt.Println("layout=", layout)
fmt.Println("formatted=", formatted)
fmt.Println("utc=", meeting.Location())
}
layout ← "2006-01-02", meeting ← time.Date(2026, time.May, 28, 14, 45, 0, 0, time.UTC)
8func main() {9 var layout→ "2006-01-02" = "2006-01-02" //@layout="02 Jan 2006", "15:04"10 meeting→ time.Date(2026, time.May, 28, 14, 45, 0, 0, time.UTC) := time.Date(2026, time.May, 28, 14, 45, 0, 0, time.UTC)11 formatted→ "2026-05-28" := meetingtime.Date(2026, time.May, 28, 14, 45, 0, 0, time.UTC).Format(layout"2006-01-02")1213 fmt.Println("layout=", layout"2006-01-02")14 fmt.Println("formatted=", formatted"2026-05-28")15 fmt.Println("utc=", meetingtime.Date(2026, time.May, 28, 14, 45, 0, 0, time.UTC).Location())16}outputlayout= 2006-01-02 formatted= 2026-05-28 utc= UTC
layout ← "02 Jan 2006", meeting ← time.Date(2026, time.May, 28, 14, 45, 0, 0, time.UTC)
8func main() {9 var layout→ "02 Jan 2006" = "02 Jan 2006"10 meeting→ time.Date(2026, time.May, 28, 14, 45, 0, 0, time.UTC) := time.Date(2026, time.May, 28, 14, 45, 0, 0, time.UTC)11 formatted→ "28 May 2026" := meetingtime.Date(2026, time.May, 28, 14, 45, 0, 0, time.UTC).Format(layout"02 Jan 2006")1213 fmt.Println("layout=", layout"02 Jan 2006")14 fmt.Println("formatted=", formatted"28 May 2026")15 fmt.Println("utc=", meetingtime.Date(2026, time.May, 28, 14, 45, 0, 0, time.UTC).Location())16}outputlayout= 02 Jan 2006 formatted= 28 May 2026 utc= UTC
layout ← "15:04", meeting ← time.Date(2026, time.May, 28, 14, 45, 0, 0, time.UTC)
8func main() {9 var layout→ "15:04" = "15:04"10 meeting→ time.Date(2026, time.May, 28, 14, 45, 0, 0, time.UTC) := time.Date(2026, time.May, 28, 14, 45, 0, 0, time.UTC)11 formatted→ "14:45" := meetingtime.Date(2026, time.May, 28, 14, 45, 0, 0, time.UTC).Format(layout"15:04")1213 fmt.Println("layout=", layout"15:04")14 fmt.Println("formatted=", formatted"14:45")15 fmt.Println("utc=", meetingtime.Date(2026, time.May, 28, 14, 45, 0, 0, time.UTC).Location())16}outputlayout= 15:04 formatted= 14:45 utc= UTC