示例#1
0
func (t Time) MarshalJSON() ([]byte, error) {
	if y := t.Year(); y < 0 || y >= 10000 {
		return nil, errors.New("Time.MarshalJSON: year outside of range [0,9999]")
	}

	if t.Unix() == 0 {
		return []byte(`"` + "" + `"`), nil
	}

	return []byte(t.Format(`"` + "2006-01-02 15:04:05" + `"`)), nil
}
示例#2
0
func (h Hour) MarshalJSON() ([]byte, error) {
	if y := h.Year(); y < 0 || y >= 10000 {
		return nil, errors.New("Time.MarshalJSON: year outside of range [0,9999]")
	}
	return []byte(h.Format(`"` + "15:04:05" + `"`)), nil
}
示例#3
0
func (d Date) MarshalJSON() ([]byte, error) {
	if y := d.Year(); y < 0 || y >= 10000 {
		return nil, errors.New("Time.MarshalJSON: year outside of range [0,9999]")
	}
	return []byte(d.Format(`"` + "2006-01-02" + `"`)), nil
}