From b23798dc987af776bec867f4537ca129fd66328e Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Mon, 30 Oct 2023 05:21:09 +0000 Subject: [PATCH] Fix time test (#2362) Reviewed-on: https://gitea.com/xorm/xorm/pulls/2362 --- internal/convert/time.go | 8 ++------ internal/convert/time_test.go | 3 +-- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/internal/convert/time.go b/internal/convert/time.go index cc1965ae..063055a9 100644 --- a/internal/convert/time.go +++ b/internal/convert/time.go @@ -68,17 +68,13 @@ func String2Time(s string, originalLocation *time.Location, convertedLocation *t dt = dt.In(convertedLocation) return &dt, nil } else if len(s) == 8 && s[2] == ':' && s[5] == ':' { - currentDate := time.Now() dt, err := time.ParseInLocation("15:04:05", s, originalLocation) if err != nil { return nil, err } - // add current date for correct time locations - dt = dt.AddDate(currentDate.Year(), int(currentDate.Month()), currentDate.Day()) dt = dt.In(convertedLocation) - // back to zero year - dt = dt.AddDate(-currentDate.Year(), int(-currentDate.Month()), -currentDate.Day()) - return &dt, nil + res := time.Date(0, time.January, 1, dt.Hour(), dt.Minute(), dt.Second(), 0, convertedLocation) + return &res, nil } else { i, err := strconv.ParseInt(s, 10, 64) if err == nil { diff --git a/internal/convert/time_test.go b/internal/convert/time_test.go index d7a9d5ad..e6b0f53b 100644 --- a/internal/convert/time_test.go +++ b/internal/convert/time_test.go @@ -12,8 +12,7 @@ import ( ) func TestString2Time(t *testing.T) { - expectedLoc, err := time.LoadLocation("Asia/Shanghai") - assert.NoError(t, err) + expectedLoc := time.FixedZone("CST", 8*3600) cases := map[string]time.Time{ "2021-08-10": time.Date(2021, 8, 10, 8, 0, 0, 0, expectedLoc),