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

layout
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())
}
  1. 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
  1. 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
  1. 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