Golang xorm time自定义解析

type JsonTime time.Time

func (j JsonTime) MarshalJSON() ([]byte, error) {
        //时间为空默认格式
	if time.Time(j).IsZero() {
		return []byte(`""`), nil
	}
	return []byte(`"` + time.Time(j).Format(DefaultTimeFormat) + `"`), nil
}

func (t *JsonTime) UnmarshalJSON(data []byte) (err error) {
	now, err := time.ParseInLocation(`"`+DefaultTimeFormat+`"`, string(data), time.Local)
	//fmt.Println(now)
	*t = JsonTime(now)
	return
}

  

posted @ 2020-10-20 10:54  zipon  阅读(563)  评论(0编辑  收藏  举报