From c4b28b0bc4a2ab816991654b18d475603d49c99e Mon Sep 17 00:00:00 2001 From: john Date: Wed, 29 Jul 2020 11:44:58 +0800 Subject: [PATCH] improve gtime.ParseDuration --- os/gtime/gtime.go | 2 +- os/gtime/gtime_z_unit_basic_test.go | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/os/gtime/gtime.go b/os/gtime/gtime.go index 62bf07af4..b43a332db 100644 --- a/os/gtime/gtime.go +++ b/os/gtime/gtime.go @@ -404,7 +404,7 @@ func ParseDuration(s string) (time.Duration, error) { } return time.Duration(v), nil } - match, err := gregex.MatchString(`^([\-\d]+)[dD](.+)$`, s) + match, err := gregex.MatchString(`^([\-\d]+)[dD](.*)$`, s) if err != nil { return 0, err } diff --git a/os/gtime/gtime_z_unit_basic_test.go b/os/gtime/gtime_z_unit_basic_test.go index 966d0a711..082c7d209 100644 --- a/os/gtime/gtime_z_unit_basic_test.go +++ b/os/gtime/gtime_z_unit_basic_test.go @@ -221,6 +221,11 @@ func Test_ConvertZone(t *testing.T) { } func Test_ParseDuration(t *testing.T) { + gtest.C(t, func(t *gtest.T) { + d, err := gtime.ParseDuration("1d") + t.Assert(err, nil) + t.Assert(d.String(), "24h0m0s") + }) gtest.C(t, func(t *gtest.T) { d, err := gtime.ParseDuration("1d2h3m") t.Assert(err, nil)