diff options
Diffstat (limited to 'pkg/utils')
-rw-r--r-- | pkg/utils/date.go | 21 |
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)) +} |