From 0eda32b7251f6f3cb66dde224b857776c14697a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20Schw=C3=B6rer?= Date: Fri, 29 Dec 2023 19:29:36 +0100 Subject: [PATCH] v0.0.352 --- goextVersion.go | 4 ++-- sq/converter.go | 12 ++++++++---- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/goextVersion.go b/goextVersion.go index d35eba3..a912cc9 100644 --- a/goextVersion.go +++ b/goextVersion.go @@ -1,5 +1,5 @@ package goext -const GoextVersion = "0.0.351" +const GoextVersion = "0.0.352" -const GoextVersionTimestamp = "2023-12-29T19:25:36+0100" +const GoextVersionTimestamp = "2023-12-29T19:29:36+0100" diff --git a/sq/converter.go b/sq/converter.go index 069ed3c..779046e 100644 --- a/sq/converter.go +++ b/sq/converter.go @@ -52,20 +52,24 @@ var ConverterRFCUnixTimeToUnixSeconds = NewDBTypeConverter[rfctime.UnixTime, int return rfctime.NewUnix(time.Unix(v, 0)), nil }) +// ConverterRFC339TimeToString +// Does not really use RFC339 - but sqlite does not understand timezones and the `T` delimiter var ConverterRFC339TimeToString = NewDBTypeConverter[rfctime.RFC3339Time, string](func(v rfctime.RFC3339Time) (string, error) { - return v.Format(time.RFC3339), nil + return v.Time().In(time.UTC).Format("2006-01-02 15:04:05"), nil }, func(v string) (rfctime.RFC3339Time, error) { - t, err := time.Parse(time.RFC3339Nano, v) + t, err := time.Parse("2006-01-02 15:04:05", v) if err != nil { return rfctime.RFC3339Time{}, err } return rfctime.NewRFC3339(t), nil }) +// ConverterRFC339NanoTimeToString +// Does not really use RFC339 - but sqlite does not understand timezones and the `T` delimiter var ConverterRFC339NanoTimeToString = NewDBTypeConverter[rfctime.RFC3339NanoTime, string](func(v rfctime.RFC3339NanoTime) (string, error) { - return v.Format(time.RFC3339Nano), nil + return v.Time().In(time.UTC).Format("2006-01-02 15:04:05.999999999"), nil }, func(v string) (rfctime.RFC3339NanoTime, error) { - t, err := time.Parse(time.RFC3339Nano, v) + t, err := time.ParseInLocation("2006-01-02 15:04:05.999999999", v, time.UTC) if err != nil { return rfctime.RFC3339NanoTime{}, err }