- 我们假设订单流水是由:年月日时分秒+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;}}
运行结果图: