js 根据时间生成唯一订单号

一般做唯一编号的时候,可以使用guid或者uuid的包直接生成,但是我希望唯一编号能够反应生成的时间信息,所以就准备使用日期+随机值来构造,代码如下:

const tradeNo = function () {
  const now = new Date()
  const year = now.getFullYear();
  let month = now.getMonth() + 1;
  let day = now.getDate();
  let hour = now.getHours();
  let minutes = now.getMinutes();
  let seconds = now.getSeconds();
  String(month).length < 2 ? (month = Number("0" + month)) : month;
  String(day).length < 2 ? (day = Number("0" + day)) : day;
  String(hour).length < 2 ? (hour = Number("0" + hour)) : hour;
  String(minutes).length < 2 ? (minutes = Number("0" + minutes)) : minutes;
  String(seconds).length < 2 ? (seconds = Number("0" + seconds)) : seconds;
  const yyyyMMddHHmmss = `${year}${month}${day}${hour}${minutes}${seconds}`;
  return yyyyMMddHHmmss + '_' + Math.random().toString(36).substr(2, 9);
};
// 使用
tradeNo();

生成的唯一订单号举例如下:原则上是不会重复的。

2019522203532_2lubccbkd
2019522203540_a297n7f9g
2019522203549_hr013qzes
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值