/**
* @description: 生成流水号 "SN" + 20位 字符串
* @rule 生成规则=> "SN" + 年(4) + 月(2) + 日(2) + 时(2) + 分(2) + 秒(2) + 毫秒(3) + 随机数(3)
* @return 有返回信息 {string} 流水号 SN20210831174240266091
*/
function getNowFormatDatePath(date) {
// 获取当前的年
var year = date.getFullYear();
// 获取当前的月份 月份要加一 从0开始计算
var month = date.getMonth() + 1;
// 获取当前的日期
var strDate = date.getDate();
// 获取当前小时
var hour = date.getHours();
// 获取当前分钟
var minutes = date.getMinutes();
//获取当前的秒
var seconds = date.getSeconds();
//获取当前的毫秒数
var milliseconds = date.getMilliseconds();
//随机生成随机数
// var num = Math.floor(Math.random() * 1000)
var num = '';
for (var i = 0; i < 3; i++) num += Math.floor(Math.random() * 10);
// console.log(num)
//判断月份是否小于9小于在前面填0
month = month > 9 ? month : '0' + month;
//判断日期是否小于9 小于在前面填0
strDate = strDate > 9 ? strDate : '0' + strDate;
// 判断时间是否小于9 小于在前面填0
hour = hour > 9 ? hour : '0' + hour;
// 判断分钟
minutes = minutes > 9 ? minutes : '0' + minutes;
// 判断当前的秒数
seconds = seconds > 9 ? seconds : '0' + seconds;
//判断当前的毫秒数
// milliseconds = milliseconds > 9 ? milliseconds : '0' + milliseconds
milliseconds =
milliseconds > 9
? milliseconds > 99
? milliseconds
: '0' + milliseconds
: '00' + milliseconds;
// 拼接为20位的字符串
var currentdate =
'SN' +
year +
month +
strDate +
hour +
minutes +
seconds +
milliseconds +
num;
return currentdate;
}
console.log(getNowFormatDatePath(new Date()),'--->流水号生成')
console