如何用当前时间加个随机数生成唯一的会员号

yusheng622 2010-09-06 02:53:35
会员管理系统中,要给会员一个会员号,如何用会员入会时间加个随机数生成唯一的会员号?
...全文
582 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyq11 2010-09-06
  • 打赏
  • 举报
回复
随机值
最大值.ToString().PadRight(4, '0')
Random rand = new Random(Guid.NewGuid().GetHashCode()); rand .Next(最小值,最大值)

Random rnd = new Random(Environment.TickCount);
qqiuzaihui 2010-09-06
  • 打赏
  • 举报
回复
用一个20位的字符串做你的序列号,应该够你用的了。
        private Random rand = new Random();

/// <summary>
/// 得到唯一序列号
/// </summary>
/// <returns></returns>
public string GetUniqueSerial()
{
return string.Format("{0}{1}{2}", DateTime.Now.ToString("yyMMddHHmmss"),
DateTime.Now.ToString("FFFF").PadRight(4, '0'), rand.Next(9999).ToString().PadRight(4, '0'));
}

这个序列号我用了很久了, 至今没出过问题。
烈火蜓蜻 2010-09-06
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 glest 的回复:]
引用 10 楼 glest 的回复:

long id = DateTime.Now.Ticks;


精确到毫微秒
[/Quote]

直接说纳秒不就好了,还搞个毫微秒,头大,
Ticks最小单位是100纳秒
glest 2010-09-06
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 glest 的回复:]

long id = DateTime.Now.Ticks;
[/Quote]

精确到毫微秒
glest 2010-09-06
  • 打赏
  • 举报
回复
long id = DateTime.Now.Ticks;
fq618 2010-09-06
  • 打赏
  • 举报
回复
用时间,精确到毫秒就行了
gumwzg 2010-09-06
  • 打赏
  • 举报
回复
用时间 +流水号
在存入数据库的时候 取最大的流水号+1
xiaoli0919 2010-09-06
  • 打赏
  • 举报
回复
不是有个GUID么~
deyygywxf 2010-09-06
  • 打赏
  • 举报
回复
其实就可以只用时间就行啦,精确到秒
hckings 2010-09-06
  • 打赏
  • 举报
回复
string d = DateTime.Now.Date.ToString("yyyyMMdd");
string id = d+1;
//MessageBox.Show(id);
sardineany 2010-09-06
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 chazikai24 的回复:]
时间+序号,比如今天,20100906+一个数字,第一个是1,第二个是2,自增即可
[/Quote] 根据你们的会员增加人数,如果每天个位数就20100906+1 ,如果每天十位数就20100906+01 ,以此类推。。这种字段的长度最好要固定
chazikai24 2010-09-06
  • 打赏
  • 举报
回复
时间+序号,比如今天,20100906+一个数字,第一个是1,第二个是2,自增即可
纯唇Yu弄 2010-09-06
  • 打赏
  • 举报
回复
楼上说的对
ShinNakoruru 2010-09-06
  • 打赏
  • 举报
回复
一般用时间+顺序号
不去查询比较已有的,很难保证随机数不重复啊

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧