How to Handle Monotonic Clocks in Go

Go uses monotonic clocks automatically for duration calculations via time.Now() and time.Since() to ensure accuracy despite system clock changes.

Use time.Now() for wall-clock time and time.Since() for durations; Go's standard library does not expose a raw monotonic clock counter directly. The time package automatically uses the system's monotonic clock for duration calculations to prevent errors from system clock adjustments.

start := time.Now()
// ... do work ...
duration := time.Since(start)
fmt.Println(duration)