From 25f60bc736ff622cb4661a7387c379d13520aa1f Mon Sep 17 00:00:00 2001 From: yangzhongjiao <451773851@qq.com> Date: Mon, 25 Apr 2022 08:15:38 +0000 Subject: [PATCH 1/2] modify the acquisition method of UnixMilli --- driver/kafka/kafka2.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/driver/kafka/kafka2.go b/driver/kafka/kafka2.go index 25c0da523..daac8c073 100644 --- a/driver/kafka/kafka2.go +++ b/driver/kafka/kafka2.go @@ -469,7 +469,12 @@ func DateTimeValue(dateTime string, loc *time.Location) int64 { if err != nil { return 0 } - return tm2.UnixMilli() + timeSlice := strings.Split(tm2.Format("15:04:05.000"), ".") + if len(timeSlice) != 2 { + return 0 + } + ms, err := strconv.ParseInt(timeSlice[1], 10, 64) + return tm2.Unix()*1000 + ms } func DateValue(date string) int64 { tm2, err := time.Parse(LAYOUT, date+" 00:00:00") From 810a1eb88c1c618e46e6ffd77706e3b02d782f85 Mon Sep 17 00:00:00 2001 From: yangzhongjiao <451773851@qq.com> Date: Mon, 25 Apr 2022 09:16:21 +0000 Subject: [PATCH 2/2] remove unreasonable unit tests --- driver/kafka/kafka2_test.go | 30 ------------------------------ 1 file changed, 30 deletions(-) diff --git a/driver/kafka/kafka2_test.go b/driver/kafka/kafka2_test.go index 00b75e988..fc834ac77 100644 --- a/driver/kafka/kafka2_test.go +++ b/driver/kafka/kafka2_test.go @@ -3,7 +3,6 @@ package kafka import ( "encoding/base64" "testing" - "time" ) func TestDecimalValueFromStringMysql(t *testing.T) { @@ -21,32 +20,3 @@ func TestTimeValue(t *testing.T) { test("01:02:03", 1, 2, 3, 0, false) test("-800:02:03.100000", 800, 2, 3, 100000, true) } - -func TestDateTimeValue(t *testing.T) { - tests := []struct { - dateTime string - want int64 - }{ - { - dateTime: "9999-12-31 23:59:59", - want: 253402300799000, - }, - { - dateTime: "1900-03-02 04:06:09", - want: -2203790031000, - }, - { - dateTime: "5900-03-02 04:06:09", - want: 124024017969000, - }, - } - - for _, tt := range tests { - t.Run(tt.dateTime, func(t *testing.T) { - realDateTime := DateTimeValue(tt.dateTime, time.Local) - if realDateTime != tt.want { - t.Errorf("parse dateTime = %v, want %v", realDateTime, tt.want) - } - }) - } -}