package cn.binux.utils; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Random; /** * 各种id生成策略 */ public class IDUtils { /** * 图片名生成 */ public static String genImageName() { //取当前时间的长整形值包含毫秒 long millis = System.currentTimeMillis(); //long millis = System.nanoTime(); //加上三位随机数 Random random = new Random(); int end3 = random.nextInt(999); //如果不足三位前面补0 String str = millis + String.format("%03d", end3); return str; } /** * 商品id生成 */ public static long genItemId() { //取当前时间的长整形值包含毫秒 long millis = System.currentTimeMillis(); //long millis = System.nanoTime(); //加上两位随机数 Random random = new Random(); int end2 = random.nextInt(99); //如果不足两位前面补0 String str = millis + String.format("%02d", end2); long id = new Long(str); return id; } /** * 订单id生成 */ public static String genOrderId() { //取当前时间的长整形值包含毫秒 String millis = System.currentTimeMillis() + ""; millis = millis.substring(5, millis.length()); //加上四位随机数 Random random = new Random(); int end4 = random.nextInt(9999); //如果不足两位前面补0 String str = String.format("%04d", end4); return millis + str; } /** * 订单项id生成 */ public static String genOrderItemId() { //取当前时间的长整形值包含毫秒 String millis = System.currentTimeMillis() + ""; SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); String data = format.format(new Date()); millis = millis.substring(7, millis.length()); //加上四位随机数 Random random = new Random(); int end4 = random.nextInt(9999); //如果不足两位前面补0 String str = String.format("%04d", end4); return data + millis + str; } public static void main(String[] args) { //for(int i=0;i< 100;i++) //System.out.println(genOrderId()); //String s = "1"; //s = "0000" + s; //s = s.substring(s.length() - 4, s.length()); //System.out.println(s); System.out.println(genOrderItemId()); } }