Javascript时间戳编号不是唯一的
Javascript timestamp number is not unique
我需要生成一个唯一的数字,以便在代码中使用。我使用
var id = new Date().valueOf()
我知道上面返回的是毫秒数。但这些价值观并不是唯一的。例如:1385035174752。此数字生成两次或两次以上。
我的问题是为什么它不是独一无二的?如何从当前日期/时间中获取唯一编号?
如果需要唯一性,请使用Math.random()
,而不是任何Date()
API。
CCD_ 3返回一个介于0和1之间(包括0和1)的整数。如果确实需要基于当前时间的半唯一编号,则可以将Date
API与Math.random
结合使用。例如:
var id = new Date().getTime() + Math.random();
在现代浏览器中,您还可以使用performance.now()
。这个API保证每个新调用的返回值都是唯一的。
在Windows上,计时器的分辨率约为10.5毫秒。因此,即使在几毫秒后,您也有机会获得相同的值。当然,还有更好的定时器,但AFAIK JavaScript无法使用它们。
example.Eeven performance.now()有时也不会给出唯一的数字。你必须制作自己的系统来生成它。比如制作一个计数器,每次访问时将其增加1。
相关文章:
- 如何每10.6秒从时间戳增加+1
- 使用AngularJS从时间戳中获取工作日
- 将时间戳转换为java中的ISO860,
- Javascript Unix时间戳转换
- JavaScript JSON关联对象键和值都作为日期时间戳
- 时间戳与mongoskin如何
- 用时间戳获取两个不同日期之间的时间差
- JavaScript到PHP的时间戳失败,增加了大约一个半月的时间
- 转换unix时间戳转换
- 带有unix时间戳的d3.js平分线
- 当转换为Python日期时间时,Node的时间戳落后3分钟
- 如何检索AMD的XHR响应代码(+时间戳)'大型Dojo
- javascript时间戳插入字符串变量
- Moment.js unix时间戳,以分钟为单位显示以前的时间
- 事件时间戳谷歌分析
- 时间戳到文本
- Unix时间戳从现在输出为1970
- 如何使用javascript在嵌入式youtube视频上创建可点击的时间戳链接
- 如何在时间标签和相同的类中以UTC格式重新格式化ISO 8601时间戳,并通过JavaScript根据用户区域设置和时区
- Javascript时间戳编号不是唯一的