增加time兼容性

This commit is contained in:
hoteas
2022-06-14 09:52:49 +08:00
parent d7a59845eb
commit 07c7a628d1
4 changed files with 19 additions and 16 deletions
+16 -13
View File
@@ -97,7 +97,7 @@ func ObjToSlice(obj interface{}, e ...*Error) Slice {
return v
}
func ObjToTime(obj interface{}, e ...*Error) time.Time {
func ObjToTime(obj interface{}, e ...*Error) *time.Time {
tInt := ObjToInt64(obj)
//字符串类型,只支持标准mysql datetime格式
@@ -107,27 +107,27 @@ func ObjToTime(obj interface{}, e ...*Error) time.Time {
if len(tStr) > 18 {
t, e := time.Parse("2006-01-02 15:04:05", tStr)
if e == nil {
return t
return &t
}
} else if len(tStr) > 15 {
t, e := time.Parse("2006-01-02 15:04", tStr)
if e == nil {
return t
return &t
}
} else if len(tStr) > 12 {
t, e := time.Parse("2006-01-02 15", tStr)
if e == nil {
return t
return &t
}
} else if len(tStr) > 9 {
t, e := time.Parse("2006-01-02", tStr)
if e == nil {
return t
return &t
}
} else if len(tStr) > 6 {
t, e := time.Parse("2006-01", tStr)
if e == nil {
return t
return &t
}
}
@@ -135,25 +135,28 @@ func ObjToTime(obj interface{}, e ...*Error) time.Time {
//纳秒级别
if len(ObjToStr(tInt)) > 16 {
return time.Time{}.Add(time.Nanosecond * time.Duration(tInt))
t := time.Time{}.Add(time.Nanosecond * time.Duration(tInt))
return &t
//微秒级别
} else if len(ObjToStr(tInt)) > 13 {
return time.Time{}.Add(time.Microsecond * time.Duration(tInt))
t := time.Time{}.Add(time.Microsecond * time.Duration(tInt))
return &t
//毫秒级别
} else if len(ObjToStr(tInt)) > 10 {
return time.Time{}.Add(time.Millisecond * time.Duration(tInt))
t := time.Time{}.Add(time.Millisecond * time.Duration(tInt))
return &t
//秒级别
} else if len(ObjToStr(tInt)) > 9 {
return time.Time{}.Add(time.Second * time.Duration(tInt))
t := time.Time{}.Add(time.Second * time.Duration(tInt))
return &t
} else if len(ObjToStr(tInt)) > 3 {
t, e := time.Parse("2006", ObjToStr(tInt))
if e == nil {
return t
return &t
}
}
return time.Time{}
return &time.Time{}
}
func ObjToFloat64(obj interface{}, e ...*Error) float64 {