From 36c29768703dfaf2466dbda9ceff0eec69046052 Mon Sep 17 00:00:00 2001 From: achun <achun.shx@qq.com> Date: Wed, 7 Aug 2013 15:02:33 +0800 Subject: [PATCH] fix time.Duration convert to string. Reserved to the millisecond In all the mysql and sqlite and postgresql wrapper,fun toInternal in collection.go. Reserved to the millisecond: ``` return fmt.Sprintf(TimeFormat, int(t/time.Hour), int(t/time.Minute%60), int(t/time.Second%60), t%time.Second/time.Millisecond) ``` --- mysql/collection.go | 2 +- postgresql/collection.go | 2 +- sqlite/collection.go | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mysql/collection.go b/mysql/collection.go index 68620251..6f7872b5 100644 --- a/mysql/collection.go +++ b/mysql/collection.go @@ -414,7 +414,7 @@ func toInternal(val interface{}) string { case time.Time: return t.Format(DateFormat) case time.Duration: - return fmt.Sprintf(TimeFormat, int(t.Hours()), int(t.Minutes())%60, int(t.Seconds())%60, t.Nanoseconds()) + return fmt.Sprintf(TimeFormat, int(t/time.Hour), int(t/time.Minute%60), int(t/time.Second%60), t%time.Second/time.Millisecond) case bool: if t == true { return "1" diff --git a/postgresql/collection.go b/postgresql/collection.go index 6539fb0f..c5970b4a 100644 --- a/postgresql/collection.go +++ b/postgresql/collection.go @@ -430,7 +430,7 @@ func toInternal(val interface{}) string { case time.Time: return t.Format(DateFormat) case time.Duration: - return fmt.Sprintf(TimeFormat, int(t.Hours()), int(t.Minutes())%60, int(t.Seconds())%60, uint64(t.Nanoseconds())%1e9) + return fmt.Sprintf(TimeFormat, int(t/time.Hour), int(t/time.Minute%60), int(t/time.Second%60), t%time.Second/time.Millisecond) case bool: if t == true { return "1" diff --git a/sqlite/collection.go b/sqlite/collection.go index e450cc88..89ccc436 100644 --- a/sqlite/collection.go +++ b/sqlite/collection.go @@ -417,7 +417,7 @@ func toInternal(val interface{}) string { case time.Time: return t.Format(DateFormat) case time.Duration: - return fmt.Sprintf(TimeFormat, int(t.Hours()), int(t.Minutes())%60, int(t.Seconds())%60, uint64(t.Nanoseconds())%1e9) + return fmt.Sprintf(TimeFormat, int(t/time.Hour), int(t/time.Minute%60), int(t/time.Second%60), t%time.Second/time.Millisecond) case bool: if t == true { return "1" -- GitLab