年(2位)+一年中的第几天(3位)+指定位数随机数
//生成单号 //06123xxxxx //sum 最少10位,sum 表示全部单号位数 func MakeYearDaysRand(sum int) string { //年 strs := time.Now().Format("06") //一年中的第几天 days := strconv.Itoa(GetDaysInYearByThisYear()) count := len(days) if count < 3 { //重复字符0 days = strings.Repeat("0", 3-count) + days } //组合 strs += days //剩余随机数 sum = sum - 5 if 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 { //重复字符0 result = strings.Repeat("0", sum-count) + result } //组合 strs += result return strs } //年中的第几天 func GetDaysInYearByThisYear() int { now := time.Now() total := 0 arr := []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; }
补充:基于GO语言实现的支持高并发订单号生成函数
1.固定24位长度订单号,毫秒+进程id+序号。
2.同一毫秒内只要不超过一万次并发,则订单号不会重复。
github地址:https://github.com/w3liu/go-common/blob/master/number/ordernum/ordernum.go
package ordernum import ( "fmt" "github.com/w3liu/go-common/constant/timeformat" "os" "sync/atomic" "time" ) var num int64 //生成24位订单号 //前面17位代表时间精确到毫秒,中间3位代表进程id,最后4位代表序号 func Generate(t time.Time) string { s := t.Format(timeformat.Continuity) m := t.UnixNano()/1e6 - t.UnixNano()/1e9*1e3 ms := sup(m, 3) p := os.Getpid() % 1000 ps := sup(int64(p), 3) i := atomic.AddInt64(&num, 1) r := i % 10000 rs := sup(r, 4) n := fmt.Sprintf("%s%s%s%s", s, ms, ps, rs) return n } //对长度不足n的数字前面补0 func sup(i int64, n int) string { m := fmt.Sprintf("%d", i) for len(m) < n { m = fmt.Sprintf("0%s", m) } return m }
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
标签:
golang,生成定单号
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“golang 生成定单号的操作”评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新动态
2024年12月26日
2024年12月26日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]