123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- 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
- }
|