diff --git a/units/duration.go b/units/duration.go index cd33121..a31f780 100644 --- a/units/duration.go +++ b/units/duration.go @@ -26,6 +26,7 @@ func HumanDuration(d time.Duration) string { return fmt.Sprintf("%d weeks", hours/24/7) } else if hours < 24*365*2 { return fmt.Sprintf("%d months", hours/24/30) + } else { + return fmt.Sprintf("%d years", hours/24/365) } - return fmt.Sprintf("%f years", d.Hours()/24/365) } diff --git a/units/duration_test.go b/units/duration_test.go index a229474..fcfb6b7 100644 --- a/units/duration_test.go +++ b/units/duration_test.go @@ -41,6 +41,6 @@ func TestHumanDuration(t *testing.T) { assertEquals(t, "13 months", HumanDuration(13*month)) assertEquals(t, "23 months", HumanDuration(23*month)) assertEquals(t, "24 months", HumanDuration(24*month)) - assertEquals(t, "2.010959 years", HumanDuration(24*month+2*week)) - assertEquals(t, "3.164384 years", HumanDuration(3*year+2*month)) + assertEquals(t, "2 years", HumanDuration(24*month+2*week)) + assertEquals(t, "3 years", HumanDuration(3*year+2*month)) }