diff options
Diffstat (limited to 'utils.go')
| -rw-r--r-- | utils.go | 17 |
1 files changed, 17 insertions, 0 deletions
@@ -4,7 +4,9 @@ import ( "crypto/md5" "crypto/rand" "encoding/hex" + "fmt" "net/http" + "time" ) func randomToken(length int) string { @@ -43,3 +45,18 @@ func (app *App) SetCookie(w http.ResponseWriter, name string, v interface{}, exp } http.SetCookie(w, cookie) } + +func ago(t time.Time) string { + delta := time.Since(t) + if delta < time.Minute { + return fmt.Sprintf("%ds ago", int(delta/time.Second)) + } else if delta < time.Hour { + return fmt.Sprintf("%dm ago", int(delta/time.Minute)) + } else if delta < 24*time.Hour { + return fmt.Sprintf("%dh ago", int(delta/time.Hour)) + } else if delta < 5*24*time.Hour { + return fmt.Sprintf("%dd ago", int(delta/(24*time.Hour))) + } else { + return t.Format("Jan 2") + } +} |
