summaryrefslogtreecommitdiffstats
path: root/pkg/utils/date.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/utils/date.go')
-rw-r--r--pkg/utils/date.go21
1 files changed, 21 insertions, 0 deletions
diff --git a/pkg/utils/date.go b/pkg/utils/date.go
new file mode 100644
index 000000000..7f8f8f8a5
--- /dev/null
+++ b/pkg/utils/date.go
@@ -0,0 +1,21 @@
+package utils
+
+import (
+ "fmt"
+ "time"
+)
+
+func UnixToTimeAgo(timestamp int) string {
+ now := time.Now().Unix()
+ delta := float64(now - int64(timestamp))
+ // we go seconds, minutes, hours, days, weeks, months, years
+ conversions := []float64{60, 60, 24, 7, 4.34524, 12}
+ labels := []string{"s", "m", "h", "d", "w", "m", "y"}
+ for i, conversion := range conversions {
+ if delta < conversion {
+ return fmt.Sprintf("%d%s", int(delta), labels[i])
+ }
+ delta /= conversion
+ }
+ return fmt.Sprintf("%dy", int(delta))
+}