From bf3ffc9c26a16ce5bcb83c570656d8b9cbee5105 Mon Sep 17 00:00:00 2001 From: deepzz0 Date: Sun, 1 Jan 2017 11:41:14 +0800 Subject: [PATCH] fix comments duration --- helper.go | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/helper.go b/helper.go index 074f312..3d58e19 100644 --- a/helper.go +++ b/helper.go @@ -90,23 +90,19 @@ func ConvertStr(str string) string { return JUST_NOW } now := time.Now() - year1, month1, day1 := t.Date() - year2, month2, day2 := now.UTC().Date() - if y := year2 - year1; y > 0 { + y1, m1, d1 := t.Date() + y2, m2, d2 := now.UTC().Date() + h1, mi1, s1 := t.Clock() + h2, mi2, s2 := now.Clock() + if y := y2 - y1; y > 1 || m2-m1 >= 0 { return fmt.Sprintf(YEARS_AGO, y) - } - if m := month2 - month1; m > 0 { + } else if m := y*12 + int(m2-m1); m > 1 || d2-d1 >= 0 { return fmt.Sprintf(MONTH_AGO, m) - } - if d := day2 - day1; d > 0 { + } else if d := m*30 + d2 - d1; d > 1 || h2-h1 >= 0 { return fmt.Sprintf(DAYS_AGO, d) - } - hour1, minute1, _ := t.Clock() - hour2, minute2, _ := now.Clock() - if h := hour2 - hour1; h > 0 { + } else if h := d*24 + h2 - h1; h > 1 || mi2-mi1 >= 0 { return fmt.Sprintf(HOURS_AGO, h) - } - if m := minute2 - minute1; m > 0 { + } else if mi := h*60 + mi2 - mi1; mi > 1 || s2-s1 >= 0 { return fmt.Sprintf(MINUTES_AGO, m) } return JUST_NOW