diff --git a/time.go b/time.go index 7e7a8ea..d995e4e 100644 --- a/time.go +++ b/time.go @@ -61,7 +61,7 @@ func CustomDurationString(diff time.Duration, numParts int, glue string) string } if value > 0 { part := fmt.Sprintf("%d %s", value, mag.Name) - if value > 1 { + if !(value == 1 || value == -1) { part += "s" } diff --git a/time_test.go b/time_test.go index bb4c0b1..b197fd4 100644 --- a/time_test.go +++ b/time_test.go @@ -109,6 +109,10 @@ func TestCustomRelTime(t *testing.T) { t2, _ = time.Parse(timeFormat, "Mon Jan 3 15:00:02.000") testCustomRelTime(t, t1, t2, 3, " ", "4 minutes 3 seconds") + t1, _ = time.Parse(timeFormat, "Mon Jan 3 15:04:05.000") + t2, _ = time.Parse(timeFormat, "Mon Jan 3 15:00:04.000") + testCustomRelTime(t, t1, t2, 3, " ", "4 minutes 1 second") + t1, _ = time.Parse(timeFormat, "Mon Jan 3 15:04:05.000") t2, _ = time.Parse(timeFormat, "Mon Jan 3 15:00:02.001") testCustomRelTime(t, t1, t2, 3, " ", "4 minutes 2 seconds")