From 4dd05a6c8a23b497c51a83c52b8874275d5bd235 Mon Sep 17 00:00:00 2001 From: Osamu TONOMORI Date: Fri, 18 Mar 2022 23:30:26 +0900 Subject: [PATCH] Add jst variable --- types.go | 4 +++- types_test.go | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/types.go b/types.go index ac28418..160709d 100644 --- a/types.go +++ b/types.go @@ -113,6 +113,8 @@ type ( var ( // nolint: gochecknoglobals nullLiteral = []byte("null") + // nolint: gochecknoglobals, gomnd + jst = time.FixedZone("Asia/Tokyo", int(9*time.Hour)) _ json.Unmarshaler = (*Version)(nil) _ json.Unmarshaler = (*NullString)(nil) @@ -204,7 +206,7 @@ func (h *Holiday) UnmarshalJSON(data []byte) error { } var err error - if h.Time, err = time.Parse(RFC3339DateFormat, tmp.Date); err != nil { + if h.Time, err = time.ParseInLocation(RFC3339DateFormat, tmp.Date, jst); err != nil { return fmt.Errorf("kenall: failed to parse Holiday: %w", err) } diff --git a/types_test.go b/types_test.go index 34588ec..14ad849 100644 --- a/types_test.go +++ b/types_test.go @@ -128,7 +128,7 @@ func TestHoliday_UnmarshalJSON(t *testing.T) { wantTime time.Time wantError bool }{ - "Normal case": {give: `{"title":"元日","date":"2022-01-01","day_of_week":6,"day_of_week_text":"saturday"}`, wantTitle: "元日", wantTime: time.Date(2022, 1, 1, 0, 0, 0, 0, time.UTC), wantError: false}, + "Normal case": {give: `{"title":"元日","date":"2022-01-01","day_of_week":6,"day_of_week_text":"saturday"}`, wantTitle: "元日", wantTime: time.Date(2022, 1, 1, 0, 0, 0, 0, time.FixedZone("Asia/Tokyo", int(9*time.Hour))), wantError: false}, "Unexpected JSON value": {give: `{"title":2,"date":"2022-01-01","day_of_week":6,"day_of_week_text":"saturday"}`, wantTitle: "", wantTime: time.Time{}, wantError: true}, "Unexpected date format": {give: `{"title":"元日","date":"2022/01/01","day_of_week":6,"day_of_week_text":"saturday"}`, wantTitle: "", wantTime: time.Time{}, wantError: true}, }