根据时间戳计算与当前时间的间距及格式化单位

//根据时间戳计算与当前时间的间距及格式化单位
func FormatDate(in string) (out string) {
    timeUnix := time.Now().Unix() //当前时间戳

    inn, _ := strconv.ParseInt(in, 10, 64)
    outt := timeUnix - inn

    f := map[string]string{
        "1":        "秒",
        "60":       "分钟",
        "3600":     "小时",
        "86400":    "天",
        "604800":   "星期",
        "2592000":  "个月",
        "31536000": "年",
    }

    var keys []string
    for k := range f {
        keys = append(keys, k)
    }
    //sort.Strings(keys)
    //数字字符串 排序
    sort.Slice(keys, func(i, j int) bool {
        numA, _ := strconv.Atoi(keys[i])
        numB, _ := strconv.Atoi(keys[j])
        return numA < numB
    })

    for _, k := range keys {
        v2, _ := strconv.Atoi(k)
        cc := math.Floor(float64(int(outt) / int(v2)))
        if 0 != cc {
            out = strconv.FormatFloat(cc, 'f', -1, 64) + f[k] + "前"
        }
    }

    return
}
本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!