package utils import ( "fmt" "strconv" ) var sizeKB = 1024 var sizeMB = sizeKB * 1024 var sizeGB = sizeMB * 1024 func Bytes2Size(num int64) string { numStr := "" unit := "B" if num/int64(sizeGB) > 1 { numStr = fmt.Sprintf("%.2f", float64(num)/float64(sizeGB)) unit = "GB" } else if num/int64(sizeMB) > 1 { numStr = fmt.Sprintf("%d", int(float64(num)/float64(sizeMB))) unit = "MB" } else if num/int64(sizeKB) > 1 { numStr = fmt.Sprintf("%d", int(float64(num)/float64(sizeKB))) unit = "KB" } else { numStr = fmt.Sprintf("%d", num) } return numStr + " " + unit } func Seconds2Time(num int) (time string) { if num/31104000 > 0 { time += strconv.Itoa(num/31104000) + " 年 " num %= 31104000 } if num/2592000 > 0 { time += strconv.Itoa(num/2592000) + " 个月 " num %= 2592000 } if num/86400 > 0 { time += strconv.Itoa(num/86400) + " 天 " num %= 86400 } if num/3600 > 0 { time += strconv.Itoa(num/3600) + " 小时 " num %= 3600 } if num/60 > 0 { time += strconv.Itoa(num/60) + " 分钟 " num %= 60 } time += strconv.Itoa(num) + " 秒" return }