- 我们假设订单流水是由:年月日时分秒+8位随机数所构成
第一种:使用SimpleDateFormat对当前时间进行格式化,利用Math.random()获取八位随机数
import java.text.SimpleDateFormat;
import java.util.Date;
public class test {
public static void main( String[] args ) {
Date newTime = new Date();
//设置时间格式
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyMMddhhmmss");
//获取的时间,是本机的时间
String formatDate1 = sdf1.format(newTime);
System.out.println(formatDate1 + (int)((Math.random()*9+1)*10000000));
}
}
第二种:创建getCard()工具类获取8位随机数
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;
public class test {
//生成随机数
public static String getCard(){
Random rand=new Random();//生成随机数
String cardNnumer="";
for(int a=0;a<8;a++){
cardNnumer+=rand.nextInt(10);//生成8位数字
}
return cardNnumer;
}
public static void main( String[] args ) {
Date newTime = new Date();
//设置时间格式
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyMMddhhmmss ");
//获取的时间,是本机的时间
String formatDate1 = sdf1.format(newTime);
// 通过函数调用 获取8位随机数
String cardNnumer=getCard();
System.out.println(formatDate1 + cardNnumer);
}
}
第三种:编写完整的工具类
package com.lazy.tools;
import java.text.SimpleDateFormat;
import java.util.Date;
public class test {
private static String getNowDate(){
Date date = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
return simpleDateFormat.format(date);
}
private static String getRandom(){
String rand = "";
for (int i = 0; i < 8; i++){
rand = rand + (int)(Math.random()*10);
}
return rand;
}
public static String createOrderCode(){
String OrderCode = getNowDate() + getRandom();
return OrderCode;
}
}
运行结果图: