time.Parse reads a fixed string using a matching layout.

parse time Parsing converts a known text format into a time value that code can inspect.

Parse Times

rawDate
parse_times.go
Replay: real traced execution (multi-file project)
package main

import (
	"fmt"
	"time"
)

func main() {
	var rawDate = "2026-05-28"
	parsed, err := time.Parse("2006-01-02", rawDate)
	if err != nil {
		fmt.Println("parsed=", false)
		return
	}

	fmt.Println("raw=", rawDate)
	fmt.Println("year=", parsed.Year())
	fmt.Println("month=", parsed.Month())
	fmt.Println("day=", parsed.Day())
}
package main

import (
	"fmt"
	"time"
)

func main() {
	var rawDate = "2026-06-01"
	parsed, err := time.Parse("2006-01-02", rawDate)
	if err != nil {
		fmt.Println("parsed=", false)
		return
	}

	fmt.Println("raw=", rawDate)
	fmt.Println("year=", parsed.Year())
	fmt.Println("month=", parsed.Month())
	fmt.Println("day=", parsed.Day())
}
package main

import (
	"fmt"
	"time"
)

func main() {
	var rawDate = "2026-12-31"
	parsed, err := time.Parse("2006-01-02", rawDate)
	if err != nil {
		fmt.Println("parsed=", false)
		return
	}

	fmt.Println("raw=", rawDate)
	fmt.Println("year=", parsed.Year())
	fmt.Println("month=", parsed.Month())
	fmt.Println("day=", parsed.Day())
}
  1. rawDate ← "2026-05-28", parsed ← time.Date(2026, time.May, 28, 0, 0, 0, 0, time.UTC)

    8func main() {9  var rawDate→ "2026-05-28" = "2026-05-28" //@rawDate="2026-06-01", "2026-12-31"10  parsed→ time.Date(2026, time.May, 28, 0, 0, 0, 0, time.UTC), err→ <nil> := time.Parse("2006-01-02", rawDate"2026-05-28")11  if err != nil {12    fmt.Println("parsed=", false)13    return14  }1516  fmt.Println("raw=", rawDate"2026-05-28")17  fmt.Println("year=", parsedtime.Date(2026, time.May, 28, 0, 0, 0, 0, time.UTC).Year())18  fmt.Println("month=", parsedtime.Date(2026, time.May, 28, 0, 0, 0, 0, time.UTC).Month())19  fmt.Println("day=", parsedtime.Date(2026, time.May, 28, 0, 0, 0, 0, time.UTC).Day())20}
    outputraw= 2026-05-28
    year= 2026
    month= May
    day= 28
  1. rawDate ← "2026-06-01", parsed ← time.Date(2026, time.June, 1, 0, 0, 0, 0, time.UTC)

    8func main() {9  var rawDate→ "2026-06-01" = "2026-06-01"10  parsed→ time.Date(2026, time.June, 1, 0, 0, 0, 0, time.UTC), err→ <nil> := time.Parse("2006-01-02", rawDate"2026-06-01")11  if err != nil {12    fmt.Println("parsed=", false)13    return14  }1516  fmt.Println("raw=", rawDate"2026-06-01")17  fmt.Println("year=", parsedtime.Date(2026, time.June, 1, 0, 0, 0, 0, time.UTC).Year())18  fmt.Println("month=", parsedtime.Date(2026, time.June, 1, 0, 0, 0, 0, time.UTC).Month())19  fmt.Println("day=", parsedtime.Date(2026, time.June, 1, 0, 0, 0, 0, time.UTC).Day())20}
    outputraw= 2026-06-01
    year= 2026
    month= June
    day= 1
  1. rawDate ← "2026-12-31", parsed ← time.Date(2026, time.December, 31, 0, 0, 0, 0, time.UTC)

    8func main() {9  var rawDate→ "2026-12-31" = "2026-12-31"10  parsed→ time.Date(2026, time.December, 31, 0, 0, 0, 0, time.UTC), err→ <nil> := time.Parse("2006-01-02", rawDate"2026-12-31")11  if err != nil {12    fmt.Println("parsed=", false)13    return14  }1516  fmt.Println("raw=", rawDate"2026-12-31")17  fmt.Println("year=", parsedtime.Date(2026, time.December, 31, 0, 0, 0, 0, time.UTC).Year())18  fmt.Println("month=", parsedtime.Date(2026, time.December, 31, 0, 0, 0, 0, time.UTC).Month())19  fmt.Println("day=", parsedtime.Date(2026, time.December, 31, 0, 0, 0, 0, time.UTC).Day())20}
    outputraw= 2026-12-31
    year= 2026
    month= December
    day= 31