printer/plainprinter.go
changeset 120 54b6f2a4098b
parent 84 5a894a10304c
child 121 10453a1c5698
--- a/printer/plainprinter.go	Thu May 11 18:05:06 2017 +0200
+++ b/printer/plainprinter.go	Thu May 11 18:05:06 2017 +0200
@@ -127,17 +127,17 @@
 	return h // Failed: return initial string
 }
 
-// unix2string convert a UNIX timestamp to a string
-func unix2string(ts interface{}) string {
+// unix2time convert a UNIX timestamp to a time.Time
+func unix2time(ts interface{}) (time.Time, error) {
 	switch t := ts.(type) {
 	case int64:
-		return time.Unix(t, 0).String()
+		return time.Unix(t, 0), nil
 	case int:
-		return time.Unix(int64(t), 0).String()
+		return time.Unix(int64(t), 0), nil
 	case float64:
-		return time.Unix(int64(t), 0).String()
+		return time.Unix(int64(t), 0), nil
 	}
-	return fmt.Sprintf("%v", ts)
+	return time.Time{}, fmt.Errorf("invalid timestamp type")
 }
 
 func indentedPrint(w io.Writer, indent string, title, skipIfEmpty bool, label string, format string, args ...interface{}) {
@@ -301,7 +301,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", unix2string(s.CreatedAt))
+		indentedPrint(w, indent, false, true, "Timestamp", "%v", time.Unix(s.CreatedAt, 0))
 	}
 	indentedPrint(w, indent, false, true, "Scope", "%s", s.Scope)
 	return nil
@@ -316,6 +316,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", unix2string(is.Date))
+	indentedPrint(w, indent, false, false, "Date", "%s", time.Unix(is.Date, 0))
 	return nil
 }