diff options
Diffstat (limited to 'mastodon/unixtime.go')
-rw-r--r-- | mastodon/unixtime.go | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/mastodon/unixtime.go b/mastodon/unixtime.go new file mode 100644 index 0000000..a935a9e --- /dev/null +++ b/mastodon/unixtime.go @@ -0,0 +1,20 @@ +package mastodon + +import ( + "strconv" + "time" +) + +type Unixtime time.Time + +func (t *Unixtime) UnmarshalJSON(data []byte) error { + if len(data) > 0 && data[0] == '"' && data[len(data)-1] == '"' { + data = data[1 : len(data)-1] + } + ts, err := strconv.ParseInt(string(data), 10, 64) + if err != nil { + return err + } + *t = Unixtime(time.Unix(ts, 0)) + return nil +} |