mirror of https://github.com/curusarn/resh
parent
b1651cea07
commit
8b2e45c748
@ -0,0 +1,181 @@ |
|||||||
|
package main |
||||||
|
|
||||||
|
import ( |
||||||
|
"strconv" |
||||||
|
"time" |
||||||
|
) |
||||||
|
|
||||||
|
func formatTimeRelativeLongest(tm time.Time) string { |
||||||
|
tmSince := time.Since(tm) |
||||||
|
hrs := tmSince.Hours() |
||||||
|
yrs := int(hrs / (365 * 24)) |
||||||
|
if yrs > 0 { |
||||||
|
if yrs == 1 { |
||||||
|
return "1 year ago" |
||||||
|
} |
||||||
|
return strconv.Itoa(yrs) + " years ago" |
||||||
|
} |
||||||
|
months := int(hrs / (30 * 24)) |
||||||
|
if months > 0 { |
||||||
|
if months == 1 { |
||||||
|
return "1 month ago" |
||||||
|
} |
||||||
|
return strconv.Itoa(months) + " months ago" |
||||||
|
} |
||||||
|
days := int(hrs / 24) |
||||||
|
if days > 0 { |
||||||
|
if days == 1 { |
||||||
|
return "1 day ago" |
||||||
|
} |
||||||
|
return strconv.Itoa(days) + " days ago" |
||||||
|
} |
||||||
|
hrsInt := int(hrs) |
||||||
|
if hrsInt > 0 { |
||||||
|
if hrsInt == 1 { |
||||||
|
return "1 hour ago" |
||||||
|
} |
||||||
|
return strconv.Itoa(hrsInt) + " hours ago" |
||||||
|
} |
||||||
|
mins := int(hrs*60) % 60 |
||||||
|
if mins > 0 { |
||||||
|
if mins == 1 { |
||||||
|
return "1 min ago" |
||||||
|
} |
||||||
|
return strconv.Itoa(mins) + " mins ago" |
||||||
|
} |
||||||
|
secs := int(hrs*60*60) % 60 |
||||||
|
if secs > 0 { |
||||||
|
if secs == 1 { |
||||||
|
return "1 sec ago" |
||||||
|
} |
||||||
|
return strconv.Itoa(secs) + " secs ago" |
||||||
|
} |
||||||
|
return "now" |
||||||
|
} |
||||||
|
|
||||||
|
func formatTimeRelativeLong(tm time.Time) string { |
||||||
|
tmSince := time.Since(tm) |
||||||
|
hrs := tmSince.Hours() |
||||||
|
yrs := int(hrs / (365 * 24)) |
||||||
|
if yrs > 0 { |
||||||
|
if yrs == 1 { |
||||||
|
return "1 year" |
||||||
|
} |
||||||
|
return strconv.Itoa(yrs) + " years" |
||||||
|
} |
||||||
|
months := int(hrs / (30 * 24)) |
||||||
|
if months > 0 { |
||||||
|
if months == 1 { |
||||||
|
return "1 month" |
||||||
|
} |
||||||
|
return strconv.Itoa(months) + " months" |
||||||
|
} |
||||||
|
days := int(hrs / 24) |
||||||
|
if days > 0 { |
||||||
|
if days == 1 { |
||||||
|
return "1 day" |
||||||
|
} |
||||||
|
return strconv.Itoa(days) + " days" |
||||||
|
} |
||||||
|
hrsInt := int(hrs) |
||||||
|
if hrsInt > 0 { |
||||||
|
if hrsInt == 1 { |
||||||
|
return "1 hour" |
||||||
|
} |
||||||
|
return strconv.Itoa(hrsInt) + " hours" |
||||||
|
} |
||||||
|
mins := int(hrs*60) % 60 |
||||||
|
if mins > 0 { |
||||||
|
if mins == 1 { |
||||||
|
return "1 min" |
||||||
|
} |
||||||
|
return strconv.Itoa(mins) + " mins" |
||||||
|
} |
||||||
|
secs := int(hrs*60*60) % 60 |
||||||
|
if secs > 0 { |
||||||
|
if secs == 1 { |
||||||
|
return "1 sec" |
||||||
|
} |
||||||
|
return strconv.Itoa(secs) + " secs" |
||||||
|
} |
||||||
|
return "now" |
||||||
|
} |
||||||
|
|
||||||
|
func formatTimeMixedLongest(tm time.Time) string { |
||||||
|
tmSince := time.Since(tm) |
||||||
|
hrs := tmSince.Hours() |
||||||
|
yrs := int(hrs / (365 * 24)) |
||||||
|
if yrs > 0 { |
||||||
|
if yrs == 1 { |
||||||
|
return "1 year ago" |
||||||
|
} |
||||||
|
return strconv.Itoa(yrs) + " years ago" |
||||||
|
} |
||||||
|
months := int(hrs / (30 * 24)) |
||||||
|
if months > 0 { |
||||||
|
if months == 1 { |
||||||
|
return "1 month ago" |
||||||
|
} |
||||||
|
return strconv.Itoa(months) + " months ago" |
||||||
|
} |
||||||
|
days := int(hrs / 24) |
||||||
|
if days > 0 { |
||||||
|
if days == 1 { |
||||||
|
return "1 day ago" |
||||||
|
} |
||||||
|
return strconv.Itoa(days) + " days ago" |
||||||
|
} |
||||||
|
hrsInt := int(hrs) |
||||||
|
mins := int(hrs*60) % 60 |
||||||
|
return strconv.Itoa(hrsInt) + ":" + strconv.Itoa(mins) |
||||||
|
} |
||||||
|
|
||||||
|
func formatTimeRelativeShort(tm time.Time) string { |
||||||
|
tmSince := time.Since(tm) |
||||||
|
hrs := tmSince.Hours() |
||||||
|
yrs := int(hrs / (365 * 24)) |
||||||
|
if yrs > 0 { |
||||||
|
return strconv.Itoa(yrs) + " Y" |
||||||
|
} |
||||||
|
months := int(hrs / (30 * 24)) |
||||||
|
if months > 0 { |
||||||
|
return strconv.Itoa(months) + " M" |
||||||
|
} |
||||||
|
days := int(hrs / 24) |
||||||
|
if days > 0 { |
||||||
|
return strconv.Itoa(days) + " D" |
||||||
|
} |
||||||
|
hrsInt := int(hrs) |
||||||
|
if hrsInt > 0 { |
||||||
|
return strconv.Itoa(hrsInt) + " h" |
||||||
|
} |
||||||
|
mins := int(hrs*60) % 60 |
||||||
|
if mins > 0 { |
||||||
|
return strconv.Itoa(mins) + " m" |
||||||
|
} |
||||||
|
secs := int(hrs*60*60) % 60 |
||||||
|
if secs > 0 { |
||||||
|
return strconv.Itoa(secs) + " s" |
||||||
|
} |
||||||
|
return "now" |
||||||
|
} |
||||||
|
|
||||||
|
func formatTimeMixedShort(tm time.Time) string { |
||||||
|
tmSince := time.Since(tm) |
||||||
|
hrs := tmSince.Hours() |
||||||
|
yrs := int(hrs / (365 * 24)) |
||||||
|
if yrs > 0 { |
||||||
|
return strconv.Itoa(yrs) + " Y" |
||||||
|
} |
||||||
|
months := int(hrs / (30 * 24)) |
||||||
|
if months > 0 { |
||||||
|
return strconv.Itoa(months) + " M" |
||||||
|
} |
||||||
|
days := int(hrs / 24) |
||||||
|
if days > 0 { |
||||||
|
return strconv.Itoa(days) + " D" |
||||||
|
} |
||||||
|
hrsInt := int(hrs) |
||||||
|
mins := int(hrs*60) % 60 |
||||||
|
return strconv.Itoa(hrsInt) + ":" + strconv.Itoa(mins) |
||||||
|
} |
||||||
Loading…
Reference in new issue