Browse Source

time RFC3339 (ISO 8601)

0x4a52466c696e74 3 weeks ago
parent
commit
d9a08ecc75
3 changed files with 12 additions and 4 deletions
  1. 6 3
      field_converter.go
  2. 2 1
      go.mod
  3. 4 0
      go.sum

+ 6 - 3
field_converter.go

@@ -3,6 +3,8 @@ package rest
 import (
 	"fmt"
 	"time"
+
+	"github.com/araddon/dateparse"
 )
 
 var (
@@ -22,15 +24,16 @@ var (
 	fcTime = &FieldConverter{
 		Pack: func(v any) any {
 			t := v.(time.Time)
-			return t.Format("02.01.2006 15:04")
+			return t.Format(time.RFC3339)
 		},
 		Unpack: func(val any) (any, error) {
 			ts, check := val.(string)
 			if !check {
 				return nil, fmt.Errorf("expected string")
 			}
-			layout := "02.01.2006 15:04"
-			parsedTime, err := time.Parse(layout, ts)
+			//layout := "02.01.2006 15:04"
+			//parsedTime, err := time.Parse(layout, ts)
+			parsedTime, err := dateparse.ParseAny(ts)
 			if err != nil {
 				return nil, err
 			}

+ 2 - 1
go.mod

@@ -3,7 +3,8 @@ module git.ali33.ru/fcg-xvii/rest
 go 1.20
 
 require (
-	git.ali33.ru/fcg-xvii/go-tools v0.0.0-20240727074427-0856f1c40759
+	git.ali33.ru/fcg-xvii/go-tools v0.0.0-20241229110459-3b7ff89f1433
+	github.com/araddon/dateparse v0.0.0-20210429162001-6b43995a97de
 	github.com/dgrijalva/jwt-go v3.2.0+incompatible
 	github.com/go-chi/chi/v5 v5.0.11
 	github.com/go-chi/cors v1.2.1

+ 4 - 0
go.sum

@@ -2,9 +2,13 @@ git.ali33.ru/fcg-xvii/go-tools v0.0.0-20230529104008-2552c5121c91 h1:8N3j1V1Yx24
 git.ali33.ru/fcg-xvii/go-tools v0.0.0-20230529104008-2552c5121c91/go.mod h1:YbBhWFFNNQIKcRisQFnpVaN5KA+XHGImSU1Z/MuntqU=
 git.ali33.ru/fcg-xvii/go-tools v0.0.0-20240727074427-0856f1c40759 h1:pxakIkKkaHBObni4PCZYUaXR74RvNKeV9ShHGHAE/mQ=
 git.ali33.ru/fcg-xvii/go-tools v0.0.0-20240727074427-0856f1c40759/go.mod h1:YbBhWFFNNQIKcRisQFnpVaN5KA+XHGImSU1Z/MuntqU=
+git.ali33.ru/fcg-xvii/go-tools v0.0.0-20241229110459-3b7ff89f1433 h1:Zem3l5QsT2d0ynWvtHbgaVYiu4L1kqJt77NVDtbMBoY=
+git.ali33.ru/fcg-xvii/go-tools v0.0.0-20241229110459-3b7ff89f1433/go.mod h1:YbBhWFFNNQIKcRisQFnpVaN5KA+XHGImSU1Z/MuntqU=
 github.com/KyleBanks/depth v1.2.1 h1:5h8fQADFrWtarTdtDudMmGsC7GPbOAu6RVB3ffsVFHc=
 github.com/KyleBanks/depth v1.2.1/go.mod h1:jzSb9d0L43HxTQfT+oSA1EEp2q+ne2uh6XgeJcm8brE=
 github.com/agiledragon/gomonkey/v2 v2.3.1 h1:k+UnUY0EMNYUFUAQVETGY9uUTxjMdnUkP0ARyJS1zzs=
+github.com/araddon/dateparse v0.0.0-20210429162001-6b43995a97de h1:FxWPpzIjnTlhPwqqXc4/vE0f7GvRjuAsbW+HOIe8KnA=
+github.com/araddon/dateparse v0.0.0-20210429162001-6b43995a97de/go.mod h1:DCaWoUhZrYW9p1lxo/cm8EmUOOzAPSEZNGF2DK1dJgw=
 github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=