go-time-parse will parse time expressions into time.Duration
quantities. From the example:
actualDuration, phraseType, err := ParseDuration("24 days from now") log.PanicIf(err) fmt.Printf("%d [%s]\n", actualDuration/time.Hour/24, phraseType) actualDuration, phraseType, err = ParseDuration("now") log.PanicIf(err) fmt.Printf("%d [%s]\n", actualDuration, phraseType) actualDuration, phraseType, err = ParseDuration("12m") log.PanicIf(err) fmt.Printf("%d [%s]\n", actualDuration/time.Minute, phraseType) actualDuration, phraseType, err = ParseDuration("every 6 hours") log.PanicIf(err) fmt.Printf("%d [%s]\n", actualDuration/time.Hour, phraseType)
Output:
24 [time] 0 [time] 12 [interval] 6 [interval]