Files
realy/unix/unix.go

29 lines
489 B
Go

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
}