Time and Formatting
Fixed Times
time.Date builds a deterministic time value from explicit parts.
fixed time
A fixed time uses chosen year, month, day, clock, and location values instead of the current clock.
Fixed Times
fixed_times.go
Replay: real traced execution (multi-file project)
package main
import (
"fmt"
"time"
)
func main() {
var hour = 9
start := time.Date(2026, time.May, 28, hour, 30, 0, 0, time.UTC)
fmt.Println("year=", start.Year())
fmt.Println("month=", start.Month())
fmt.Println("hour=", start.Hour())
fmt.Println("zone=", start.Location())
}
package main
import (
"fmt"
"time"
)
func main() {
var hour = 14
start := time.Date(2026, time.May, 28, hour, 30, 0, 0, time.UTC)
fmt.Println("year=", start.Year())
fmt.Println("month=", start.Month())
fmt.Println("hour=", start.Hour())
fmt.Println("zone=", start.Location())
}
package main
import (
"fmt"
"time"
)
func main() {
var hour = 18
start := time.Date(2026, time.May, 28, hour, 30, 0, 0, time.UTC)
fmt.Println("year=", start.Year())
fmt.Println("month=", start.Month())
fmt.Println("hour=", start.Hour())
fmt.Println("zone=", start.Location())
}
hour ← 9, start ← time.Date(2026, time.May, 28, 9, 30, 0, 0, time.UTC)
8func main() {9 var hour→ 9 = 9 //@hour=14, 1810 start→ time.Date(2026, time.May, 28, 9, 30, 0, 0, time.UTC) := time.Date(2026, time.May, 28, hour9, 30, 0, 0, time.UTC)1112 fmt.Println("year=", starttime.Date(2026, time.May, 28, 9, 30, 0, 0, time.UTC).Year())13 fmt.Println("month=", starttime.Date(2026, time.May, 28, 9, 30, 0, 0, time.UTC).Month())14 fmt.Println("hour=", starttime.Date(2026, time.May, 28, 9, 30, 0, 0, time.UTC).Hour())15 fmt.Println("zone=", starttime.Date(2026, time.May, 28, 9, 30, 0, 0, time.UTC).Location())16}outputyear= 2026 month= May hour= 9 zone= UTC
hour ← 14, start ← time.Date(2026, time.May, 28, 14, 30, 0, 0, time.UTC)
8func main() {9 var hour→ 14 = 1410 start→ time.Date(2026, time.May, 28, 14, 30, 0, 0, time.UTC) := time.Date(2026, time.May, 28, hour14, 30, 0, 0, time.UTC)1112 fmt.Println("year=", starttime.Date(2026, time.May, 28, 14, 30, 0, 0, time.UTC).Year())13 fmt.Println("month=", starttime.Date(2026, time.May, 28, 14, 30, 0, 0, time.UTC).Month())14 fmt.Println("hour=", starttime.Date(2026, time.May, 28, 14, 30, 0, 0, time.UTC).Hour())15 fmt.Println("zone=", starttime.Date(2026, time.May, 28, 14, 30, 0, 0, time.UTC).Location())16}outputyear= 2026 month= May hour= 14 zone= UTC
hour ← 18, start ← time.Date(2026, time.May, 28, 18, 30, 0, 0, time.UTC)
8func main() {9 var hour→ 18 = 1810 start→ time.Date(2026, time.May, 28, 18, 30, 0, 0, time.UTC) := time.Date(2026, time.May, 28, hour18, 30, 0, 0, time.UTC)1112 fmt.Println("year=", starttime.Date(2026, time.May, 28, 18, 30, 0, 0, time.UTC).Year())13 fmt.Println("month=", starttime.Date(2026, time.May, 28, 18, 30, 0, 0, time.UTC).Month())14 fmt.Println("hour=", starttime.Date(2026, time.May, 28, 18, 30, 0, 0, time.UTC).Hour())15 fmt.Println("zone=", starttime.Date(2026, time.May, 28, 18, 30, 0, 0, time.UTC).Location())16}outputyear= 2026 month= May hour= 18 zone= UTC