js获取当前时间并且拼接一个6位数的随机数
问题描述
在一个需求中需要自动生成一个编码,编码要求格式:“当前时间-6位数的随机数”
解决方案
- 先获取当前时间的年月日;
- 再用随机函数方法生成一个6位数的随机数;
- 将获取的当前时间和生成的随机数用字符串拼接的方法拼接起来;
function getCode() {
// 获取当前时间
let date = new Date()
let year = date.getFullYear()
let month = ('0' + (date.getMonth() + 1)).slice(-2) // 月份从0开始,所以要+1
let day = ('0' + date.getDate()).slice(-2) // 如果日期小于10,前面补0
// 生成6位数的随机数
let chars = '0123456789'
let result = ''
for (let i = 0; i < 6; i++) {
result += chars.charAt(Math.floor(Math.random() * chars.length))
}
return year + month + day + result
}
console.log(getCode()) // 20240509365987
如果想要在编码添加固定的标识,也可以自定义生成编码的格式
function getCodeStr(str) {
// 获取当前时间
let date = new Date()
let year = date.getFullYear()
let month = ('0' + (date.getMonth() + 1)).slice(-2) // 月份从0开始,所以要+1
let day = ('0' + date.getDate()).slice(-2) // 如果日期小于10,前面补0
// 生成6位数的随机数
let chars = '0123456789'
let result = ''
for (let i = 0; i < 6; i++) {
result += chars.charAt(Math.floor(Math.random() * chars.length))
}
return str + '-' + year + month + day + '-' + result
}
console.log(getCodeStr(CGHT)) // CGHT-20240509-659842
关于js生成一个6位数的随机数更多方法可以参考以下文章:
js生成6位数的随机数的几种常用的方法