年(2位)+一年中的第幾天(3位)+指定位數隨機數
//生成單號
//06123***xx
//sum 最少10位,sum 表示全部單號位數
func makeyeardaysrand(sum int) string
//組合
strs += days
//剩餘隨機數
sum = sum - 5
if sum < 1
//0~9999999的隨機數
ran := getrand()
pow := math.pow(10, float64(sum)) - 1
"sum=>", sum)
"pow=>", pow)
result := strconv.itoa(ran.intn(int(pow)))
count = len(result)
"result=>", result)
if count < sum
//組合
strs += result
return strs
}//年中的第幾天
func getdaysinyearbythisyear() int
y, month, d := now.date()
m := int(month)
for i := 0; i < m-1; i++
if (y%400 == 0 || (y%4 == 0 && y%100 != 0)) && m > 2 else
return total;
}補充:基於go語言實現的支援高併發訂單號生vkbvzm成函式
1.固定24位長度訂單號,毫秒+程序id+序號。
2.同一毫秒內只要不超過一萬次併發,則訂單號不會重複。
github位址:
packag程式設計客棧e 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
//對長度不足n的數字前面補0
func sup(i int64, n int) string
return m
}本文標題: golang 生成定單號的操作
本文位址: /jiaoben/golang/370290.html
PHP訂單號的生成
前陣子,公司有個電子商務專案,需要生成訂單號。當時的考慮很簡單,取系統時間加上隨機數,或者使用 uniqid 方法。我們都知道,訂單號最基本的要求就是唯一,這個條件必須滿足。仔細考慮下上述方法,在顧客購買量少的情況下,訂單重複的可能性為零,但是在購買高蜂期生成的訂單號重複是很有可能發生的。所以上述方...
php訂單號的生成
來自ecshop訂單號生成函式 includes lib order.php檔案中的get order sn 得到新訂單號 return string function build order no 原訂單號格式為年月日 5位隨機數,例如 2012022112345。如果你想改變訂單號的生成規則,可...
關於訂單號的生成
現在在做乙個手機 的專案,boss叫我設計乙個訂單號,訂單號要求唯一。我冥思苦想,然後查閱了其他大 的生成方法,boss給我的要求是10位,好吧,這個重複性超級高。我是這樣設計的 使用者id後4位 日期 月日 隨機2位數 感覺這樣的重複性還是挺高的,假設有10w個使用者,那麼前面4位重複的就有10個...