js 获取时间戳的方式 及使用时间搓生成的永远不会重复的id

这篇博客介绍了JavaScript中获取当前时间戳的四种方法,包括`getTime()`、`valueOf()`、`+new Date()`以及`Date.now()`。并利用时间戳生成了不会重复的ID。同时,还提供了一种通过`Math.random().toString(36)`生成随机ID的替代方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

js 获取时间戳

 let date = new Date()

// 方法一   ------>   getTime()
console.log(date.getTime())    // 1603330099319

// 方法二   ------->   valueOf()
console.log(date.valueOf())   //1603330099319

// 方法三    ------>   +New Date()
console.log(+date)           // 1603330099319

// 方法四    ------>  Date.now()
console.log(Date.now())     // 1603330298696  获取当前时刻的时间搓


// 使用当前时刻的时间搓生成永远不会重复的id
console.log(Date.now().toString(36))   // kgk5jol2     --->该id是永远不会重复的值
// -----------------------------------
// 另一种获取随机id
console.log(Math.random().toString(36).slice(2))   // tfa5zhupdsi

ok!!!!!
### 使用 JavaScript 获取当前时间戳作为唯一标识符 IDJavaScript 中,可以通过 `Date.now()` 函数来获取当前的时间戳。此方法返回自 Unix 纪元(即 1970 年 1 月 1 日 00:00:00 UTC)以来经过的毫秒数。这通常足以用于创建唯一的标识符,尤其是在短时间不会重复生成大量 ID 的情况下。 然而,如果担心在同一毫秒内多次调用该函数可能导致冲突,则可以在时间戳后面附加一些额外的信息以增加唯一性。一种常见的做法是在时间戳之后加上随机字符串或序列号[^1]。 下面是具体的实现方式: ```javascript // 获取当前时间戳并转换成字符串形式 const getCurrentTimestamp = () => { return String(Date.now()); }; console.log(getCurrentTimestamp()); // 输出形如 "1684573274123" ``` 为了进一步增强唯一性,可以采用如下改进版的方法,在时间戳基础上追加一段伪随机字符串: ```javascript /// 生成更复杂的唯一键值组合了时间和随机因子 function generateComplexUniqueKey() { return `${Date.now()}-${Math.random().toString(36).substr(2, 9)}`; } console.log(generateComplexUniqueKey()); // 可能会输出类似于 "1684573274123-aqzjgkxwv" ``` 上述代码中的 `generateComplexUniqueKey` 函数不仅包含了精确到毫秒级的时间戳部分,还加入了基于基数 36 编码后的随机数值的一部分,使得最终产生的字符串更加难以发生碰撞,适合作为 HTML 元素的 id 属性或其他场景下的唯一标识用途。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值