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
}

  

相关文章: