unixtime.go 359 B

1234567891011121314151617181920
  1. package mastodon
  2. import (
  3. "strconv"
  4. "time"
  5. )
  6. type Unixtime time.Time
  7. func (t *Unixtime) UnmarshalJSON(data []byte) error {
  8. if len(data) > 0 && data[0] == '"' && data[len(data)-1] == '"' {
  9. data = data[1 : len(data)-1]
  10. }
  11. ts, err := strconv.ParseInt(string(data), 10, 64)
  12. if err != nil {
  13. return err
  14. }
  15. *t = Unixtime(time.Unix(ts, 0))
  16. return nil
  17. }