Retrieve the current time from remote servers.
It works by requesting timestamps from nine very popular hosts over https. As soon as it gets at least three responses, it takes the two that have the smallest difference in time. And from those two it picks the one that is the oldest. Finally it ensures that the time is monotonic.
go get -u github.com/tidwall/rtime
The only function is rtime.Now()
.
tm := rtime.Now()
if tm.IsZero() {
panic("time could not be retrieved")
}
println(tm.String())
// output: 2020-03-29 10:27:00 -0700 MST
}
Josh Baker @tidwall
Source code is available under the MIT License.