失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > golang 生成定单号

golang 生成定单号

时间:2024-06-26 06:41:50

相关推荐

golang 生成定单号

年(2位)+一年中的第几天(3位)+指定位数随机数

风.foxwho

//生成单号//06123xxxxx//sum 最少10位,sum 表示全部单号位数func MakeYearDaysRand(sum int) string {//年strs := time.Now().Format("06")//一年中的第几天days := strconv.Itoa(GetDaysInYearByThisYear())count := len(days)if count < 3 {//重复字符0days = strings.Repeat("0", 3-count) + days}//组合strs += days//剩余随机数sum = sum - 5if sum < 1 {sum = 5}//0~9999999的随机数ran := GetRand()pow := math.Pow(10, float64(sum)) - 1//fmt.Println("sum=>", sum)//fmt.Println("pow=>", pow)result := strconv.Itoa(ran.Intn(int(pow)))count = len(result)//fmt.Println("result=>", result)if count < sum {//重复字符0result = strings.Repeat("0", sum-count) + result}//组合strs += resultreturn strs}//年中的第几天func GetDaysInYearByThisYear() int {now := time.Now()total := 0arr := []int{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}y, month, d := now.Date()m := int(month)for i := 0; i < m-1; i++ {total = total + arr[i]}if (y%400 == 0 || (y%4 == 0 && y%100 != 0)) && m > 2 {total = total + d + 1} else {total = total + d}return total;}

如果觉得《golang 生成定单号》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。