package lib import ( "errors" "math/rand" "strings" "time" ) // #取得随机字符串:通过打乱slice来操作 func GetRandstring(length int, char string, rand_x int64) string { if length < 1 { return "" } if len(char) <= 6 || len(char) <= length { char = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" } charArr := strings.Split(char, "") ran := rand.New(rand.NewSource(time.Now().UnixMilli() + rand_x)) l := len(charArr) for i := l - 1; i > 0; i-- { r := ran.Intn(i) charArr[r], charArr[i] = charArr[i], charArr[r] } rchar := charArr[:length] return strings.Join(rchar, "") } // 检查日期格式 func IsDateStr(date string) bool { if _, err := time.Parse("2006-01-02", date); err != nil { return false } return true } // 转化 func TimeStrToTime(T_time string) (time.Time, bool) { stamp, err := time.ParseInLocation("2006-01-02 15:04:05", T_time, time.Local) // +8 if err != nil { return time.Time{}, false } return stamp, true } func ReplaceSeconds(timeStr string) (string, error) { length := len(timeStr) if length < 2 { return "", errors.New("时间格式不正确") } lastTwoDigits := timeStr[length-2:] if lastTwoDigits == "00" { return timeStr, nil } t, err := time.Parse("2006-01-02 15:04:05", timeStr) if err != nil { return "", err } roundedTime := t.Truncate(time.Minute) // 将时间截断到分钟级别 roundedTimeString := roundedTime.Format("2006-01-02 15:04:00") return roundedTimeString, nil }