| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- package util
- import (
- "fmt"
- "math"
- "regexp"
- "time"
- )
- func StringsFallback2(val1 string, val2 string) string {
- return stringsFallback(val1, val2)
- }
- func StringsFallback3(val1 string, val2 string, val3 string) string {
- return stringsFallback(val1, val2, val3)
- }
- func stringsFallback(vals ...string) string {
- for _, v := range vals {
- if v != "" {
- return v
- }
- }
- return ""
- }
- func SplitString(str string) []string {
- if len(str) == 0 {
- return []string{}
- }
- return regexp.MustCompile("[, ]+").Split(str, -1)
- }
- func GetAgeString(t time.Time) string {
- if t.IsZero() {
- return "?"
- }
- sinceNow := time.Since(t)
- minutes := sinceNow.Minutes()
- years := int(math.Floor(minutes / 525600))
- months := int(math.Floor(minutes / 43800))
- days := int(math.Floor(minutes / 1440))
- hours := int(math.Floor(minutes / 60))
- if years > 0 {
- return fmt.Sprintf("%dy", years)
- }
- if months > 0 {
- return fmt.Sprintf("%dM", months)
- }
- if days > 0 {
- return fmt.Sprintf("%dd", days)
- }
- if hours > 0 {
- return fmt.Sprintf("%dh", hours)
- }
- if int(minutes) > 0 {
- return fmt.Sprintf("%dm", int(minutes))
- }
- return "< 1m"
- }
|