|
|
@ -27,12 +27,12 @@ import ( |
|
|
|
// the unnecessary precision off from the formatted textual representation.
|
|
|
|
// the unnecessary precision off from the formatted textual representation.
|
|
|
|
type PrettyDuration time.Duration |
|
|
|
type PrettyDuration time.Duration |
|
|
|
|
|
|
|
|
|
|
|
var prettyDurationRe = regexp.MustCompile(`\.[0-9]+`) |
|
|
|
var prettyDurationRe = regexp.MustCompile(`\.[0-9]{4,}`) |
|
|
|
|
|
|
|
|
|
|
|
// String implements the Stringer interface, allowing pretty printing of duration
|
|
|
|
// String implements the Stringer interface, allowing pretty printing of duration
|
|
|
|
// values rounded to three decimals.
|
|
|
|
// values rounded to three decimals.
|
|
|
|
func (d PrettyDuration) String() string { |
|
|
|
func (d PrettyDuration) String() string { |
|
|
|
label := fmt.Sprintf("%v", time.Duration(d)) |
|
|
|
label := time.Duration(d).String() |
|
|
|
if match := prettyDurationRe.FindString(label); len(match) > 4 { |
|
|
|
if match := prettyDurationRe.FindString(label); len(match) > 4 { |
|
|
|
label = strings.Replace(label, match, match[:4], 1) |
|
|
|
label = strings.Replace(label, match, match[:4], 1) |
|
|
|
} |
|
|
|
} |
|
|
|