精华内容
下载资源
问答
  • java根据当前时间及随机数生成订单编号
    千次阅读
    2020-01-01 17:16:19
    public static void main(String[] args) {
    		SimpleDateFormat dmDate = new SimpleDateFormat("yyyyMMddHHmmss"); // 获取当前时间
    		
    		Random random = new Random(); // 定义随机数
    		int ran = random.nextInt(1000000); // 随机数长度位数
    		
    		Date date = new Date();
    		String dateran = dmDate.format(date);
    		String randomMath = dateran+ran;
    		
    		System.out.println(randomMath);
    
    更多相关内容
  • Java根据日期生成编号

    2022-05-06 23:54:56
    1、Java根据日期生成编号 根据日期生成编号 1、使用 DateTimeFormatter DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS");//设置日期格式 String newsNo = "xw"+LocalDateTime.now()....

    1、Java根据日期生成编号

    根据日期生成编号

    1、使用 DateTimeFormatter

    DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS");//设置日期格式
    String newsNo = "xw"+LocalDateTime.now().format(fmt);
    

    2、使用 SimpleDateFormat

    SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");//设置日期格式
    String newsNo = "xw"+df.format(new Date());// new Date()为获取当前系统时间,也可使用当前时间戳
    
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.Random;
    
    /**
     * @Desc:   * 订单编码码生成器,生成32位数字编码,
     * @生成规则 1位单号类型+17位时间戳+14位(用户id加密&随机数)
     */
    
    public class OrderCoderUtil {
    
    
        /** 订单类别头 */
        private static final String ORDER_CODE = "1";
        /** 退货类别头 */
        private static final String RETURN_ORDER = "2";
        /** 退款类别头 */
        private static final String REFUND_ORDER = "3";
        /** 未付款重新支付别头 */
        private static final String AGAIN_ORDER = "4";
        /** 随即编码 */
        private static final int[] r = new int[]{7, 9, 6, 2, 8 , 1, 3, 0, 5, 4};
        /** 用户id和随机数总长度 */
        private static final int maxLength = 14;
    
    
    
    
        /**
         * 生成订单单号编码
         * @param userId
         */
        public static String getOrderCode(Long userId){
            return ORDER_CODE + getCode(userId);
        }
    
    
        /**
         * 生成退货单号编码
         * @param userId
         */
        public static String getReturnCode(Long userId){
            return RETURN_ORDER + getCode(userId);
        }
    
    
        /**
         * 生成退款单号编码
         * @param userId
         */
        public static String getRefundCode(Long userId){
            return REFUND_ORDER + getCode(userId);
        }
    
        /**
         * 未付款重新支付
         * @param userId
         */
        public static String getAgainCode(Long userId){
            return AGAIN_ORDER + getCode(userId);
        }
    
    
    
        /**
         * 更具id进行加密+加随机数组成固定长度编码
         */
        private static String toCode(Long id) {
            String idStr = id.toString();
            StringBuilder idsbs = new StringBuilder();
            for (int i = idStr.length() - 1 ; i >= 0; i--) {
                idsbs.append(r[idStr.charAt(i)-'0']);
            }
            return idsbs.append(getRandom(maxLength - idStr.length())).toString();
        }
    
        /**
         * 生成时间戳
         */
        private static String getDateTime(){
            DateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
            return sdf.format(new Date());
        }
    
        /**
         * 生成固定长度随机码
         * @param n    长度
         */
        private static long getRandom(long n) {
            long min = 1,max = 9;
            for (int i = 1; i < n; i++) {
                min *= 10;
                max *= 10;
            }
            long rangeLong = (((long) (new Random().nextDouble() * (max - min)))) + min ;
            return rangeLong;
        }
    
        /**
         * 生成不带类别标头的编码
         * @param userId
         */
        private static synchronized String getCode(Long userId){
            userId = userId == null ? 10000 : userId;
            return getDateTime() + toCode(userId);
        }
    
    }
    
    展开全文
  • 1、Java根据日期生成编号

    千次阅读 2021-02-26 11:34:03
    根据日期生成编号##1、使用 DateTimeFormatterDateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS");//设置日期格式String newsNo = "xw"+LocalDateTime.now().format(fmt);2、使用 ...

    根据日期生成编号

    ##1、使用 DateTimeFormatter

    DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS");//设置日期格式

    String newsNo = "xw"+LocalDateTime.now().format(fmt);

    2、使用 SimpleDateFormat

    SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");//设置日期格式

    String newsNo = "xw"+df.format(new Date());// new Date()为获取当前系统时间,也可使用当前时间戳

    package com.duodian.youhui.admin.utils.wechat;

    import java.text.DateFormat;

    import java.text.SimpleDateFormat;

    import java.util.Date;

    import java.util.Random;

    /**

    * @Desc: * 订单编码码生成器,生成32位数字编码,

    * @生成规则 1位单号类型+17位时间戳+14位(用户id加密&随机数)

    * @Author HealerJean

    * @Date 2018/8/21 下午2:43.

    */

    public class OrderCoderUtil {

    /** 订单类别头 */

    private static final String ORDER_CODE = "1";

    /** 退货类别头 */

    private static final String RETURN_ORDER = "2";

    /** 退款类别头 */

    private static final String REFUND_ORDER = "3";

    /** 未付款重新支付别头 */

    private static final String AGAIN_ORDER = "4";

    /** 随即编码 */

    private static final int[] r = new int[]{7, 9, 6, 2, 8 , 1, 3, 0, 5, 4};

    /** 用户id和随机数总长度 */

    private static final int maxLength = 14;

    /**

    * 生成订单单号编码

    * @param userId

    */

    public static String getOrderCode(Long userId){

    return ORDER_CODE + getCode(userId);

    }

    /**

    * 生成退货单号编码

    * @param userId

    */

    public static String getReturnCode(Long userId){

    return RETURN_ORDER + getCode(userId);

    }

    /**

    * 生成退款单号编码

    * @param userId

    */

    public static String getRefundCode(Long userId){

    return REFUND_ORDER + getCode(userId);

    }

    /**

    * 未付款重新支付

    * @param userId

    */

    public static String getAgainCode(Long userId){

    return AGAIN_ORDER + getCode(userId);

    }

    /**

    * 更具id进行加密+加随机数组成固定长度编码

    */

    private static String toCode(Long id) {

    String idStr = id.toString();

    StringBuilder idsbs = new StringBuilder();

    for (int i = idStr.length() - 1 ; i >= 0; i--) {

    idsbs.append(r[idStr.charAt(i)-'0']);

    }

    return idsbs.append(getRandom(maxLength - idStr.length())).toString();

    }

    /**

    * 生成时间戳

    */

    private static String getDateTime(){

    DateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");

    return sdf.format(new Date());

    }

    /**

    * 生成固定长度随机码

    * @param n 长度

    */

    private static long getRandom(long n) {

    long min = 1,max = 9;

    for (int i = 1; i < n; i++) {

    min *= 10;

    max *= 10;

    }

    long rangeLong = (((long) (new Random().nextDouble() * (max - min)))) + min ;

    return rangeLong;

    }

    /**

    * 生成不带类别标头的编码

    * @param userId

    */

    private static synchronized String getCode(Long userId){

    userId = userId == null ? 10000 : userId;

    return getDateTime() + toCode(userId);

    }

    }

    展开全文
  • java根据日期生成单号

    2022-03-07 10:59:23
    1.查询出创建时间等于当天的订单,按照时间倒序排序去一条数据。 select a.* from t_solid_waste_production a ...2.编写编码生成规则 SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd"); String date = df.

    1.查询出创建时间等于当天的订单,按照时间倒序排序去一条数据。

     select a.* from t_solid_waste_production a
     WHERE deleted = 0 and TO_DAYS(create_time) = TO_DAYS(NOW())
    order by create_time desc limit 1
    

    2.编写编码生成规则

    SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
    String date = df.format(new Date());
    String recordNumber = "CF" + date + "001";
    

    3.判断最新一天是否有数据,如果没有则执行叠加

    
    if (lastData != null){
       Format f1=new DecimalFormat("000");
       recordNumber = "CF" + date + f1.format((Integer.parseInt(lastData.getRecordNumber().substring(lastData.getRecordNumber().length() - 3)) + 1));
       }
    
    展开全文
  • java生成订单编号 日期+流水号采用redis记录流水号查询数据库表当前最大流水号 参考网上的方法,一般有两种,一种是采用redis记录流水号,另一种是每次都去数据库查询最大值+1,我这里做了个结合,redis为空的时候才...
  • java根据时间生成唯一ID

    热门讨论 2012-06-12 09:22:34
    java根据时间生成唯一ID,普通的根据时间生成的ID放在循环内很容易重复。
  • JAVA生成订单号(日期+流水号)

    热门讨论 2015-01-05 21:35:17
    java日期加流水号方式生成订单号,已经测试过,可递增方式生成
  • Java生成有规则的编号

    千次阅读 2021-03-16 00:02:18
    目录第一种方法:第二种方法:思路第三种方法:redis推荐三种方法比较:做订单、出...首先获取系统当前日期,然后根据日期格式将date类型转换成String类型即可。SimpleDateFormat f = new SimpleDateFormat("yyyyM...
  • 最简单的方式是直接通过时间戳加随机数,怕重复可以在10000后面继续加0,加大随机的概率 String str = String.valueOf(System.currentTimeMillis...或者先转成常见的日期格式 SimpleDateFormat formatter = new SimpleD
  • 编号生成(日期+序列号)

    千次阅读 2021-02-28 08:24:20
    packagecom.bjno.service....importjava.text.SimpleDateFormat;importjava.util.Date;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importorg.springframework.stereotype.Service;...
  • //当前日 int month1 = cal.get(Calendar.MONTH) + 1; String month = String.valueOf(cal.get(Calendar.MONTH) + 1).format("%02d", month1);//当前月 String year = String.valueOf(cal.get(Calendar.YEAR));//当...
  • Java自动生成编号

    2021-05-26 17:19:42
    Java自动生成编号 一、 在新增数据时,往往需要自动生成订单编号或者数据编号等等 1、 编号格式为:SR+日期(八位)+编号(三位)其中,日期为系统当前日期。首先要获取系统当前日期,然后根据日期格式将date类型...
  • public String seqGenerator(String key) { //加上时间戳 如果不需要 String datetime = new SimpleDateFormat("yyyyMMdd").format(new Date()); //查询 key 是否存在, 不存在返回 1 ,存在的话则自增加1 ...
  • 第三步:生成存储订单号。1、主抽象类SerialNumberpublic abstract class SerialNumber {public synchronized String getSerialNumber() {return process();}protected abstract String process();}2、抽象继承类...
  • 在开发过程中,会遇到生成XX编号之类的数据,而且这编号不能重复,所以根据当前时间,生成8位不重复的数. 在开发过程中,会遇到生成XX编号之类的数据,而且这编号不能重复,所以根据当前时间,生成8位不重复的数.
  • 生成编号规则为 HSJC-年月日01、02、03一直累加如下图所示。 默认为:HSJC-yyyyMMdd01 在网上找了很多解决方案,个人觉得不太行,特地总结一下: 1、写一个递增编号的方法 /** * 轮次编号生成规则 * 1、如果当前...
  • import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Random; public class TimeUtil { ... * 获取当前时间的时间戳 * @return * */ public st...
  • 如何根据日期+数字生成流水号

    千次阅读 2021-04-22 19:43:46
    如果没有长度和字符的限制,那么直接使用UUID生成一个唯一字符串即可,具体可参考我的这篇文章:java生成类似token的唯一随机字符串 也可以直接使用数据库表中的主键,主键就是唯一的。 那么,如果限制了流水号必须...
  • 根据日期生成批次号

    千次阅读 2020-05-19 19:57:26
    * 根据当前时间生成分配批次号 * * @return */ private static String createBatchNo() { // 批次号第一部分:时间 DateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); String currentTimeStr...
  • 废话不多说,直接上代码 ... * @description: 自动生成单号工具类 格式 : yyyyMMdd0001,每日从0001开始自增长 * @date 2021/9/16 11:07 */ public class GenerateOddNumbersUtil { /** * 功能描述: 自动
  • /** * 获得序列号,同时更新持久化存储中的序列 * @param current 当前日期 * @param start 初始化的序号 * @return 所获得新的序列号 */ protected abstract int getOrUpdateNumber(Date current, int start);
  • 如何根据当前时间生成唯一编号

    万次阅读 2015-08-26 09:32:10
    当前时间的唯一的编号……     System.currentTimeMillis() 只是获取当前的时间戳,单位是毫秒,但是这并不是唯一的.  如果你在1毫秒中进行了两次操作,那么这两个ID就是相等的.  问题的解决看你...
  • java 项目 订单编号生成规则及代码

    千次阅读 2021-03-22 15:41:16
    简单实用的java项目生成 日期时间 + 六位升序流水号 参考范例代码。一看就懂。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,946
精华内容 7,178
关键字:

java根据当前日期生成编号

java 订阅