package unix import ( "time" "realy.lol/ints" ) type Time struct{ time.Time } func Now() *Time { return &Time{Time: time.Now()} } func (u *Time) MarshalJSON() (b []byte, err error) { // Handle zero-valued Time struct by returning "0" if u.Time.IsZero() { b = append(b, '0') return } b = ints.New(u.Time.Unix()).Marshal(b) return } func (u *Time) UnmarshalJSON(b []byte) (err error) { t := ints.New(0) _, err = t.Unmarshal(b) u.Time = time.Unix(int64(t.N), 0) return }