Time and Formatting
Parse Times
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
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())
}
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
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
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