keel/time/time.go
Kevin Franklin Kim 1e7dc782c6 feat: add keeltime
2022-01-03 13:20:06 +01:00

37 lines
657 B
Go

package keeltime
import (
"time"
)
var (
Now = time.Now
NowStaticNSec = int64(1609498800e9) // 2021-01-01 12:00:00
NowIncrementalNSec = NowStaticNSec
)
// Static sets now to a static time provider
func Static() {
Now = static
}
// Incremental sets now to a incremental time provider
func Incremental() {
Now = incremental
}
func static() time.Time {
return time.Unix(0, NowStaticNSec)
}
func incremental() time.Time {
t := time.Unix(0, NowIncrementalNSec)
NowIncrementalNSec++
return t
}
// ResetIncremental sets the incremental time to the static default
func ResetIncremental() {
NowIncrementalNSec = NowStaticNSec
}