Documentation
¶
Overview ¶
Package durafmt formats time.Duration into a human readable format.
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Durafmt ¶
type Durafmt struct {
// contains filtered or unexported fields
}
Durafmt holds the parsed duration and the original input duration.
func Parse ¶
Parse creates a new *Durafmt struct, returns error if input is invalid.
Example ¶
timeduration := (354 * time.Hour) + (22 * time.Minute) + (3 * time.Second) duration := Parse(timeduration).String() fmt.Println(duration) // 2 weeks 18 hours 22 minutes 3 seconds
func ParseShort ¶
ParseShort creates a new *Durafmt struct, short form, returns error if input is invalid. It's shortcut for `Parse(dur).LimitFirstN(1)`
Example ¶
Version of durafmt.Parse() that only returns the first part of the duration string.
timeduration := (354 * time.Hour) + (22 * time.Minute) + (3 * time.Second) duration := ParseShort(timeduration).String() fmt.Println(duration) // 2 weeks
func ParseString ¶
ParseString creates a new *Durafmt struct from a string. returns an error if input is invalid.
Example ¶
duration, err := ParseString("354h22m3.24s")
if err != nil {
fmt.Println(err)
}
fmt.Println(duration) // 2 weeks 18 hours 22 minutes 3 seconds
// duration.String() // String representation. "2 weeks 18 hours 22 minutes 3 seconds"
Example (Sequence) ¶
for hours := 1.0; hours < 12.0; hours++ {
hour := fmt.Sprintf("%fh", math.Pow(2, hours))
duration, err := ParseString(hour)
if err != nil {
fmt.Println(err)
}
fmt.Println(duration) // 2 hours, 4 hours, ...
}
func ParseStringShort ¶
ParseStringShort creates a new *Durafmt struct from a string, short form returns an error if input is invalid. It's shortcut for `ParseString(durStr)` and then calling `LimitFirstN(1)`
Example ¶
Version of durafmt.ParseString() that only returns the first part of the duration string.
duration, err := ParseStringShort("354h22m3.24s")
if err != nil {
fmt.Println(err)
}
fmt.Println(duration) // 2 weeks 18 hours 22 minutes 3 seconds
// duration.String() // String representation. "2 weeks 18 hours 22 minutes 3 seconds"
func (*Durafmt) LimitFirstN ¶
LimitFirstN sets the output format, outputing only first N elements. n == 0 means no limit.
Example ¶
duration, err := ParseString("354h22m3.24s")
if err != nil {
fmt.Println(err)
}
duration = duration.LimitFirstN(2)
fmt.Println(duration) // 2 weeks 18 hours
// duration.String() // String representation. "2 weeks 18 hours"
func (*Durafmt) LimitToUnit ¶
LimitToUnit sets the output format, you will not have unit bigger than the UNIT specified. UNIT = "" means no restriction.
Example ¶
duration, err := ParseString("354h22m3.24s")
if err != nil {
fmt.Println(err)
}
duration = duration.LimitToUnit("days")
fmt.Println(duration) // 14 days 18 hours 22 minutes 3 seconds
// duration.String() // String representation. "14 days 18 hours 22 minutes 3 seconds"