...
1 package utils
2
3 import (
4 "fmt"
5 "time"
6 )
7
8
9 func TimeString(t time.Time) string {
10 return t.Format("2006-01-02 15:04:05")
11 }
12
13
14 func TimestampString(timestamp uint32) string {
15 if timestamp == 0 {
16 return "unset"
17 }
18 t := time.Unix(int64(timestamp), 0)
19 return TimeString(t)
20 }
21
22
23 func TimestampAgeString(timestamp uint32) string {
24 if timestamp == 0 {
25 return "not set"
26 }
27 secs_age := uint32(time.Now().Unix()) - timestamp
28 if secs_age == 0 {
29 return "now"
30 }
31 minutes := uint32(0)
32 hours := uint32(0)
33 if secs_age > 60*60 {
34 hours = secs_age / 60 / 60
35 secs_age = secs_age - hours*60*60
36 }
37
38 secs := secs_age
39 if secs_age > 60 {
40 minutes = uint32(secs_age / 60)
41 secs = secs_age - minutes*60
42 }
43 var ts []string
44 if hours != 0 {
45 ts = append(ts, fmt.Sprintf("%dh", hours))
46 }
47 if minutes != 0 {
48 ts = append(ts, fmt.Sprintf("%dm", minutes))
49 }
50 if secs != 0 {
51 ts = append(ts, fmt.Sprintf("%ds", secs))
52 }
53 deli := ""
54 res := ""
55 for _, s := range ts {
56 res = res + deli + s
57 deli = " "
58 }
59 res = res + " ago"
60 return res
61 }
62
View as plain text