forked from golang/hotime
时间由指针改回对象
This commit is contained in:
parent
b425024359
commit
4ab5ab9ff4
@ -38,8 +38,8 @@ func StrFirstToUpper(str string) string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 时间转字符串,第二个参数支持1-5对应显示年月日时分秒
|
// 时间转字符串,第二个参数支持1-5对应显示年月日时分秒
|
||||||
func Time2Str(t *time.Time, qu ...interface{}) string {
|
func Time2Str(t time.Time, qu ...interface{}) string {
|
||||||
if t == nil || t.Unix() < 0 {
|
if t.Unix() < 0 {
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
tp := 5
|
tp := 5
|
||||||
|
@ -102,7 +102,7 @@ func (that Map) GetBool(key string, err ...*Error) bool {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (that Map) GetTime(key string, err ...*Error) *time.Time {
|
func (that Map) GetTime(key string, err ...*Error) time.Time {
|
||||||
|
|
||||||
v := ObjToTime((that)[key], err...)
|
v := ObjToTime((that)[key], err...)
|
||||||
return v
|
return v
|
||||||
|
@ -20,7 +20,7 @@ func (that *Obj) ToInt(err ...Error) int {
|
|||||||
return ObjToInt(that.Data, &that.Error)
|
return ObjToInt(that.Data, &that.Error)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (that *Obj) ToTime(err ...Error) *time.Time {
|
func (that *Obj) ToTime(err ...Error) time.Time {
|
||||||
if len(err) != 0 {
|
if len(err) != 0 {
|
||||||
that.Error = err[0]
|
that.Error = err[0]
|
||||||
}
|
}
|
||||||
|
@ -97,7 +97,7 @@ func ObjToSlice(obj interface{}, e ...*Error) Slice {
|
|||||||
return v
|
return v
|
||||||
}
|
}
|
||||||
|
|
||||||
func ObjToTime(obj interface{}, e ...*Error) *time.Time {
|
func ObjToTime(obj interface{}, e ...*Error) time.Time {
|
||||||
|
|
||||||
tInt := ObjToInt64(obj)
|
tInt := ObjToInt64(obj)
|
||||||
//字符串类型,只支持标准mysql datetime格式
|
//字符串类型,只支持标准mysql datetime格式
|
||||||
@ -107,27 +107,27 @@ func ObjToTime(obj interface{}, e ...*Error) *time.Time {
|
|||||||
if len(tStr) > 18 {
|
if len(tStr) > 18 {
|
||||||
t, e := time.Parse("2006-01-02 15:04:05", tStr)
|
t, e := time.Parse("2006-01-02 15:04:05", tStr)
|
||||||
if e == nil {
|
if e == nil {
|
||||||
return &t
|
return t
|
||||||
}
|
}
|
||||||
} else if len(tStr) > 15 {
|
} else if len(tStr) > 15 {
|
||||||
t, e := time.Parse("2006-01-02 15:04", tStr)
|
t, e := time.Parse("2006-01-02 15:04", tStr)
|
||||||
if e == nil {
|
if e == nil {
|
||||||
return &t
|
return t
|
||||||
}
|
}
|
||||||
} else if len(tStr) > 12 {
|
} else if len(tStr) > 12 {
|
||||||
t, e := time.Parse("2006-01-02 15", tStr)
|
t, e := time.Parse("2006-01-02 15", tStr)
|
||||||
if e == nil {
|
if e == nil {
|
||||||
return &t
|
return t
|
||||||
}
|
}
|
||||||
} else if len(tStr) > 9 {
|
} else if len(tStr) > 9 {
|
||||||
t, e := time.Parse("2006-01-02", tStr)
|
t, e := time.Parse("2006-01-02", tStr)
|
||||||
if e == nil {
|
if e == nil {
|
||||||
return &t
|
return t
|
||||||
}
|
}
|
||||||
} else if len(tStr) > 6 {
|
} else if len(tStr) > 6 {
|
||||||
t, e := time.Parse("2006-01", tStr)
|
t, e := time.Parse("2006-01", tStr)
|
||||||
if e == nil {
|
if e == nil {
|
||||||
return &t
|
return t
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -136,27 +136,27 @@ func ObjToTime(obj interface{}, e ...*Error) *time.Time {
|
|||||||
//纳秒级别
|
//纳秒级别
|
||||||
if len(ObjToStr(tInt)) > 16 {
|
if len(ObjToStr(tInt)) > 16 {
|
||||||
t := time.Time{}.Add(time.Nanosecond * time.Duration(tInt))
|
t := time.Time{}.Add(time.Nanosecond * time.Duration(tInt))
|
||||||
return &t
|
return t
|
||||||
//微秒级别
|
//微秒级别
|
||||||
} else if len(ObjToStr(tInt)) > 13 {
|
} else if len(ObjToStr(tInt)) > 13 {
|
||||||
t := time.Time{}.Add(time.Microsecond * time.Duration(tInt))
|
t := time.Time{}.Add(time.Microsecond * time.Duration(tInt))
|
||||||
return &t
|
return t
|
||||||
//毫秒级别
|
//毫秒级别
|
||||||
} else if len(ObjToStr(tInt)) > 10 {
|
} else if len(ObjToStr(tInt)) > 10 {
|
||||||
t := time.Time{}.Add(time.Millisecond * time.Duration(tInt))
|
t := time.Time{}.Add(time.Millisecond * time.Duration(tInt))
|
||||||
return &t
|
return t
|
||||||
//秒级别
|
//秒级别
|
||||||
} else if len(ObjToStr(tInt)) > 9 {
|
} else if len(ObjToStr(tInt)) > 9 {
|
||||||
t := time.Time{}.Add(time.Second * time.Duration(tInt))
|
t := time.Time{}.Add(time.Second * time.Duration(tInt))
|
||||||
return &t
|
return t
|
||||||
} else if len(ObjToStr(tInt)) > 3 {
|
} else if len(ObjToStr(tInt)) > 3 {
|
||||||
t, e := time.Parse("2006", ObjToStr(tInt))
|
t, e := time.Parse("2006", ObjToStr(tInt))
|
||||||
if e == nil {
|
if e == nil {
|
||||||
return &t
|
return t
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return time.Time{}
|
||||||
}
|
}
|
||||||
|
|
||||||
func ObjToFloat64(obj interface{}, e ...*Error) float64 {
|
func ObjToFloat64(obj interface{}, e ...*Error) float64 {
|
||||||
|
@ -15,7 +15,7 @@ func (that Slice) GetString(key int, err ...*Error) string {
|
|||||||
return ObjToStr((that)[key])
|
return ObjToStr((that)[key])
|
||||||
}
|
}
|
||||||
|
|
||||||
func (that Slice) GetTime(key int, err ...*Error) *time.Time {
|
func (that Slice) GetTime(key int, err ...*Error) time.Time {
|
||||||
|
|
||||||
v := ObjToTime((that)[key], err...)
|
v := ObjToTime((that)[key], err...)
|
||||||
return v
|
return v
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
"admin": {
|
"admin": {
|
||||||
"sql": {
|
"sql": {
|
||||||
"org_id": "org_id",
|
"org_id": "org_id",
|
||||||
|
"parent_ids[~]": "%,id,%",
|
||||||
"role_id": "role_id",
|
"role_id": "role_id",
|
||||||
"zone_id": "zone_id"
|
"zone_id": "zone_id"
|
||||||
},
|
},
|
||||||
@ -55,7 +56,9 @@
|
|||||||
"table": "proj"
|
"table": "proj"
|
||||||
},
|
},
|
||||||
"role": {
|
"role": {
|
||||||
"sql": {},
|
"sql": {
|
||||||
|
"id": "role_id"
|
||||||
|
},
|
||||||
"stop": true,
|
"stop": true,
|
||||||
"table": "role"
|
"table": "role"
|
||||||
},
|
},
|
||||||
@ -124,38 +127,6 @@
|
|||||||
"icon": "Setting",
|
"icon": "Setting",
|
||||||
"label": "系统管理",
|
"label": "系统管理",
|
||||||
"menus": [
|
"menus": [
|
||||||
{
|
|
||||||
"auth": [
|
|
||||||
"show",
|
|
||||||
"add",
|
|
||||||
"delete",
|
|
||||||
"edit",
|
|
||||||
"info",
|
|
||||||
"download"
|
|
||||||
],
|
|
||||||
"label": "项目分类",
|
|
||||||
"table": "category"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"auth": [
|
|
||||||
"show",
|
|
||||||
"download"
|
|
||||||
],
|
|
||||||
"label": "日志管理",
|
|
||||||
"table": "logs"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"auth": [
|
|
||||||
"show",
|
|
||||||
"add",
|
|
||||||
"delete",
|
|
||||||
"edit",
|
|
||||||
"info",
|
|
||||||
"download"
|
|
||||||
],
|
|
||||||
"label": "项目管理",
|
|
||||||
"table": "proj"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"auth": [
|
"auth": [
|
||||||
"show",
|
"show",
|
||||||
@ -168,78 +139,6 @@
|
|||||||
"label": "角色管理",
|
"label": "角色管理",
|
||||||
"table": "role"
|
"table": "role"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"auth": [
|
|
||||||
"show",
|
|
||||||
"add",
|
|
||||||
"delete",
|
|
||||||
"edit",
|
|
||||||
"info",
|
|
||||||
"download"
|
|
||||||
],
|
|
||||||
"label": "微信信息",
|
|
||||||
"table": "wechat"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"auth": [
|
|
||||||
"show",
|
|
||||||
"add",
|
|
||||||
"delete",
|
|
||||||
"edit",
|
|
||||||
"info",
|
|
||||||
"download"
|
|
||||||
],
|
|
||||||
"label": "车辆管理",
|
|
||||||
"table": "car"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"auth": [
|
|
||||||
"show",
|
|
||||||
"add",
|
|
||||||
"delete",
|
|
||||||
"edit",
|
|
||||||
"info",
|
|
||||||
"download"
|
|
||||||
],
|
|
||||||
"label": "客户管理",
|
|
||||||
"table": "company"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"auth": [
|
|
||||||
"show",
|
|
||||||
"add",
|
|
||||||
"delete",
|
|
||||||
"edit",
|
|
||||||
"info",
|
|
||||||
"download"
|
|
||||||
],
|
|
||||||
"label": "标签管理",
|
|
||||||
"table": "out_tag"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"auth": [
|
|
||||||
"show",
|
|
||||||
"add",
|
|
||||||
"delete",
|
|
||||||
"edit",
|
|
||||||
"info",
|
|
||||||
"download"
|
|
||||||
],
|
|
||||||
"label": "用章管理",
|
|
||||||
"table": "seal_tag"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"auth": [
|
|
||||||
"show",
|
|
||||||
"add",
|
|
||||||
"delete",
|
|
||||||
"edit",
|
|
||||||
"info",
|
|
||||||
"download"
|
|
||||||
],
|
|
||||||
"label": "考勤管理",
|
|
||||||
"table": "time_tag"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"auth": [
|
"auth": [
|
||||||
"show",
|
"show",
|
||||||
@ -261,8 +160,8 @@
|
|||||||
"info",
|
"info",
|
||||||
"download"
|
"download"
|
||||||
],
|
],
|
||||||
"label": "人员管理",
|
"label": "项目分类",
|
||||||
"table": "admin"
|
"table": "category"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"auth": [
|
"auth": [
|
||||||
@ -273,8 +172,8 @@
|
|||||||
"info",
|
"info",
|
||||||
"download"
|
"download"
|
||||||
],
|
],
|
||||||
"label": "城市管理",
|
"label": "标签管理",
|
||||||
"table": "city"
|
"table": "out_tag"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"auth": [
|
"auth": [
|
||||||
@ -285,8 +184,8 @@
|
|||||||
"info",
|
"info",
|
||||||
"download"
|
"download"
|
||||||
],
|
],
|
||||||
"label": "供应商管理",
|
"label": "考勤管理",
|
||||||
"table": "channel"
|
"table": "time_tag"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"auth": [
|
"auth": [
|
||||||
@ -297,8 +196,16 @@
|
|||||||
"info",
|
"info",
|
||||||
"download"
|
"download"
|
||||||
],
|
],
|
||||||
"label": "部门管理",
|
"label": "车辆管理",
|
||||||
"table": "org"
|
"table": "car"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"auth": [
|
||||||
|
"show",
|
||||||
|
"download"
|
||||||
|
],
|
||||||
|
"label": "日志管理",
|
||||||
|
"table": "logs"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"auth": [
|
"auth": [
|
||||||
@ -333,8 +240,32 @@
|
|||||||
"info",
|
"info",
|
||||||
"download"
|
"download"
|
||||||
],
|
],
|
||||||
"label": "联盟公司",
|
"label": "城市管理",
|
||||||
"table": "zone"
|
"table": "city"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"auth": [
|
||||||
|
"show",
|
||||||
|
"add",
|
||||||
|
"delete",
|
||||||
|
"edit",
|
||||||
|
"info",
|
||||||
|
"download"
|
||||||
|
],
|
||||||
|
"label": "项目管理",
|
||||||
|
"table": "proj"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"auth": [
|
||||||
|
"show",
|
||||||
|
"add",
|
||||||
|
"delete",
|
||||||
|
"edit",
|
||||||
|
"info",
|
||||||
|
"download"
|
||||||
|
],
|
||||||
|
"label": "客户管理",
|
||||||
|
"table": "company"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"auth": [
|
"auth": [
|
||||||
@ -347,10 +278,116 @@
|
|||||||
],
|
],
|
||||||
"label": "项目归口",
|
"label": "项目归口",
|
||||||
"table": "department"
|
"table": "department"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"auth": [
|
||||||
|
"show",
|
||||||
|
"add",
|
||||||
|
"delete",
|
||||||
|
"edit",
|
||||||
|
"info",
|
||||||
|
"download"
|
||||||
|
],
|
||||||
|
"label": "部门管理",
|
||||||
|
"table": "org"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"auth": [
|
||||||
|
"show",
|
||||||
|
"add",
|
||||||
|
"delete",
|
||||||
|
"edit",
|
||||||
|
"info",
|
||||||
|
"download"
|
||||||
|
],
|
||||||
|
"label": "用章管理",
|
||||||
|
"table": "seal_tag"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"auth": [
|
||||||
|
"show",
|
||||||
|
"add",
|
||||||
|
"delete",
|
||||||
|
"edit",
|
||||||
|
"info",
|
||||||
|
"download"
|
||||||
|
],
|
||||||
|
"label": "微信信息",
|
||||||
|
"table": "wechat"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"auth": [
|
||||||
|
"show",
|
||||||
|
"add",
|
||||||
|
"delete",
|
||||||
|
"edit",
|
||||||
|
"info",
|
||||||
|
"download"
|
||||||
|
],
|
||||||
|
"label": "联盟公司",
|
||||||
|
"table": "zone"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"auth": [
|
||||||
|
"show",
|
||||||
|
"add",
|
||||||
|
"delete",
|
||||||
|
"edit",
|
||||||
|
"info",
|
||||||
|
"download"
|
||||||
|
],
|
||||||
|
"label": "人员管理",
|
||||||
|
"table": "admin"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"auth": [
|
||||||
|
"show",
|
||||||
|
"add",
|
||||||
|
"delete",
|
||||||
|
"edit",
|
||||||
|
"info",
|
||||||
|
"download"
|
||||||
|
],
|
||||||
|
"label": "供应商管理",
|
||||||
|
"table": "channel"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"name": "sys"
|
"name": "sys"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"auth": [
|
||||||
|
"show"
|
||||||
|
],
|
||||||
|
"icon": "Setting",
|
||||||
|
"label": "任务执行",
|
||||||
|
"menus": [
|
||||||
|
{
|
||||||
|
"auth": [
|
||||||
|
"show",
|
||||||
|
"add",
|
||||||
|
"delete",
|
||||||
|
"edit",
|
||||||
|
"info",
|
||||||
|
"download"
|
||||||
|
],
|
||||||
|
"label": "任务执行",
|
||||||
|
"table": "task_admin"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"auth": [
|
||||||
|
"show",
|
||||||
|
"add",
|
||||||
|
"delete",
|
||||||
|
"edit",
|
||||||
|
"info",
|
||||||
|
"download"
|
||||||
|
],
|
||||||
|
"label": "任务管理",
|
||||||
|
"table": "task"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"name": "sys:task"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"auth": [
|
"auth": [
|
||||||
"show"
|
"show"
|
||||||
@ -372,40 +409,6 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"name": "sys:sea"
|
"name": "sys:sea"
|
||||||
},
|
|
||||||
{
|
|
||||||
"auth": [
|
|
||||||
"show"
|
|
||||||
],
|
|
||||||
"icon": "Setting",
|
|
||||||
"label": "任务管理",
|
|
||||||
"menus": [
|
|
||||||
{
|
|
||||||
"auth": [
|
|
||||||
"show",
|
|
||||||
"add",
|
|
||||||
"delete",
|
|
||||||
"edit",
|
|
||||||
"info",
|
|
||||||
"download"
|
|
||||||
],
|
|
||||||
"label": "任务管理",
|
|
||||||
"table": "task"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"auth": [
|
|
||||||
"show",
|
|
||||||
"add",
|
|
||||||
"delete",
|
|
||||||
"edit",
|
|
||||||
"info",
|
|
||||||
"download"
|
|
||||||
],
|
|
||||||
"label": "任务执行",
|
|
||||||
"table": "task_admin"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"name": "sys:task"
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"name": "admin",
|
"name": "admin",
|
||||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user