diff -r ad148f60dc87 -r 909c3ddd83f6 printer/plain.go --- a/printer/plain.go Sun Apr 30 18:17:10 2017 +0200 +++ b/printer/plain.go Sun Apr 30 18:43:11 2017 +0200 @@ -127,6 +127,19 @@ return h // Failed: return initial string } +// unix2string convert a UNIX timestamp to a string +func unix2string(ts interface{}) string { + switch t := ts.(type) { + case int64: + return time.Unix(t, 0).String() + case int: + return time.Unix(int64(t), 0).String() + case float64: + return time.Unix(int64(t), 0).String() + } + return fmt.Sprintf("%v", ts) +} + func indentedPrint(w io.Writer, indent string, title, skipIfEmpty bool, label string, format string, args ...interface{}) { prefix := indent if title { @@ -272,7 +285,7 @@ indentedPrint(w, indent, true, false, "User token", "%s", s.AccessToken) indentedPrint(w, indent, false, true, "Type", "%s", s.TokenType) if s.CreatedAt != 0 { - indentedPrint(w, indent, false, true, "Timestamp", "%v", time.Unix(int64(s.CreatedAt), 0)) + indentedPrint(w, indent, false, true, "Timestamp", "%v", unix2string(s.CreatedAt)) } indentedPrint(w, indent, false, true, "Scope", "%s", s.Scope) return nil @@ -287,6 +300,6 @@ indentedPrint(w, indent, false, false, "Statuses", "%d", is.Statuses) indentedPrint(w, indent, false, false, "Open Registrations", "%v", is.OpenRegistrations) indentedPrint(w, indent, false, false, "Up", "%v", is.Up) - indentedPrint(w, indent, false, false, "Date", "%s", time.Unix(is.Date, 0)) + indentedPrint(w, indent, false, false, "Date", "%s", unix2string(is.Date)) return nil }