提交 d7d3be58 authored 作者: mooncake9527's avatar mooncake9527

update xtime

上级 4095a391
......@@ -3,7 +3,6 @@ package xtime
import (
"database/sql/driver"
"fmt"
"reflect"
"regexp"
"strconv"
"time"
......@@ -20,31 +19,12 @@ const (
// 定义time.Time的别名
type DateTime time.Time
func (ct *DateTime) UnmarshalParam(src string) error {
field, _ := reflect.TypeOf(ct).Elem().FieldByName("DateTime")
format := field.Tag.Get("format")
if format == "" {
format = time.DateTime
}
t, err := time.Parse(format, src)
if err != nil {
return fmt.Errorf("time format should be %s", format)
}
*ct = DateTime(t)
return nil
}
// 自定义json序列化
func (x DateTime) MarshalJSON() ([]byte, error) {
if x.IsZero() {
return []byte(`""`), nil
}
field, _ := reflect.TypeOf(x).Elem().FieldByName("DateTime")
format := field.Tag.Get("format")
if format == "" {
format = "2006-01-02 15:04:05"
}
var jsonTimeStr = fmt.Sprintf(`"%s"`, time.Time(x).Format(format))
var jsonTimeStr = fmt.Sprintf(`"%s"`, time.Time(x).Format("2006-01-02 15:04:05"))
return []byte(jsonTimeStr), nil
}
......@@ -54,12 +34,7 @@ func (x *DateTime) UnmarshalJSON(data []byte) error {
*x = DateTime{}
return nil
}
field, _ := reflect.TypeOf(x).Elem().FieldByName("DateTime")
format := field.Tag.Get("format")
if format == "" {
format = "2006-01-02 15:04:05"
}
t, err := time.Parse(format, string(data))
t, err := time.Parse(`"2006-01-02 15:04:05"`, string(data))
if err != nil {
return err
}
......
差异被折叠。
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论