Files

38 lines
586 B
Go

package timeutil
import "time"
type Clock interface {
Now() time.Time
}
type SystemClock struct{}
func (SystemClock) Now() time.Time {
return time.Now().UTC()
}
type FixedClock struct {
Time time.Time
}
func (c FixedClock) Now() time.Time {
return c.Time.UTC()
}
func NowUTC() time.Time {
return time.Now().UTC()
}
func FormatRFC3339(t time.Time) string {
return t.UTC().Format(time.RFC3339)
}
func FormatRFC3339Nano(t time.Time) string {
return t.UTC().Format(time.RFC3339Nano)
}
func TimestampIDPart(t time.Time) string {
return t.UTC().Format("20060102T150405Z")
}