81 lines
1.8 KiB
Go
81 lines
1.8 KiB
Go
/**
|
|
#*****************************************************************************
|
|
# @author MakerYang
|
|
# @site mir2.makeryang.com
|
|
#*****************************************************************************
|
|
*/
|
|
|
|
package Utils
|
|
|
|
import (
|
|
"fmt"
|
|
"strconv"
|
|
"time"
|
|
)
|
|
|
|
func TimeFormat(unix int) (string, string) {
|
|
|
|
timeInt := time.Unix(int64(unix), 0)
|
|
|
|
return timeInt.Format("2006年01月02日 15:04:05"), timeInt.Format("2006-01-02 15:04:05")
|
|
}
|
|
|
|
func TimeMinFormat(unix int) (string, string) {
|
|
|
|
timeInt := time.Unix(int64(unix), 0)
|
|
|
|
return timeInt.Format("2006年01月02日"), timeInt.Format("2006-01-02")
|
|
}
|
|
|
|
func DateFormat(times int) string {
|
|
|
|
createTime := time.Unix(int64(times), 0)
|
|
now := time.Now().Unix()
|
|
|
|
difTime := now - int64(times)
|
|
|
|
str := ""
|
|
if difTime < 60 {
|
|
str = "刚刚"
|
|
} else if difTime < 3600 {
|
|
M := difTime / 60
|
|
str = strconv.Itoa(int(M)) + "分钟前"
|
|
} else if difTime < 3600*24 {
|
|
H := difTime / 3600
|
|
str = strconv.Itoa(int(H)) + "小时前"
|
|
} else {
|
|
str = createTime.Format("2006-01-02 15:04:05")
|
|
}
|
|
|
|
return str
|
|
}
|
|
|
|
func DateFormatFine(timestamp int64) string {
|
|
now := time.Now()
|
|
past := time.Unix(timestamp, 0) // Convert Unix timestamp to time.Time
|
|
duration := now.Sub(past)
|
|
|
|
// Calculate the differences
|
|
seconds := int(duration.Seconds())
|
|
minutes := int(duration.Minutes())
|
|
hours := int(duration.Hours())
|
|
days := hours / 24
|
|
weeks := days / 7
|
|
// months := days / 30
|
|
|
|
switch {
|
|
case seconds < 60:
|
|
return fmt.Sprintf("%d 秒前", seconds)
|
|
case minutes < 60:
|
|
return fmt.Sprintf("%d 分钟前", minutes)
|
|
case hours < 24:
|
|
return fmt.Sprintf("%d 小时前", hours)
|
|
case days < 7:
|
|
return fmt.Sprintf("%d 天前", days)
|
|
case days < 30:
|
|
return fmt.Sprintf("%d 周前", weeks)
|
|
default:
|
|
return past.Format("2006年01月02日")
|
|
}
|
|
}
|