From e77ca3c105bd64c5077d823d2127f6f812a4f681 Mon Sep 17 00:00:00 2001 From: satotake Date: Wed, 27 Apr 2022 02:57:04 +0900 Subject: Add `clock` cli flag Close #8787 --- common/htime/time.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'common/htime') diff --git a/common/htime/time.go b/common/htime/time.go index 552608b6f..d854e9312 100644 --- a/common/htime/time.go +++ b/common/htime/time.go @@ -17,6 +17,7 @@ import ( "strings" "time" + "github.com/bep/clock" "github.com/spf13/cast" toml "github.com/pelletier/go-toml/v2" @@ -74,6 +75,7 @@ var ( "November", "December", } + Clock = clock.Start(time.Now()) ) func NewTimeFormatter(ltr locales.Translator) TimeFormatter { @@ -148,3 +150,13 @@ func ToTimeInDefaultLocationE(i any, location *time.Location) (tim time.Time, er } return cast.ToTimeInDefaultLocationE(i, location) } + +// Now returns time.Now() or time value based on`clock` flag. +// Use this function to fake time inside hugo. +func Now() time.Time { + return Clock.Now() +} + +func Since(t time.Time) time.Duration { + return Clock.Now().Sub(t) +} -- cgit v1.2.3