根据条件生成12位的字母+数字(时间戳生成)

前言:在原来的项目中,一些功能需要生成随机数来完成,而在先前随机数的生成规则是根据时间戳来生成的,现在需要根据不同的条件来生成不同的随机数。

话不多说,代码如下:

public static String[] getTimeStampMandomNumber(int num,String scourseTypeIdString,String agentIdString){
          String[] codes = new String[num];
          for(int i = 0;i<num;i++){
              SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmssSSS");//设置日期格式
              String timeStamp = df.format(new Date());// new Date()为获取当前系统时间,也可使用当前时间戳

              String code = agentIdString+scourseTypeIdString+MD5.getMD5(timeStamp+i+"").substring(6,16).toUpperCase();
              codes[i] = code;
          
            }
            return codes;
        }

创建一个测试:

public static void main(String[] args) {
        String[] code = GeneratorCode.getTimeStampMandomNumber(10,"1","1");
        for(int i =0;i<code.length;i++){
            System.out.println(code[i]);
        }
    }

结果如下:

117EB46DB147
11386E803052
11DDEC83F97F
11304B287ECF
1121BCC78E74
11C1B9E6E9AB
112BE834E878
1158B9CF67A6
11AB1E4A5334
11B628539CF8

而在这生成的随机数中,第一位代表agentIdString,第二位代表scourseTypeIdString,这都是自己根据业务的需求,不同的条件来进行拼接的随机数,后面10位数都是根据时间戳来生成的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值