使用 javascript 时间创建一个唯一的数字

新手上路,请多包涵

我需要使用 javascript 即时生成唯一的 ID 号。过去,我通过使用时间创建一个数字来做到这一点。该数字将由四位数字的年份、两位数字的月份、两位数字的日期、两位数字的小时、两位数字的分钟、两位数字的秒和三位数字的毫秒组成。所以它看起来像这样:20111104103912732 …这将为我的目的提供足够的确定性唯一数字。

自从我这样做以来已经有一段时间了,我不再拥有代码了。任何人都有执行此操作的代码,或者对生成唯一 ID 有更好的建议?

原文由 Nick Petrie 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 755
2 个回答

如果您只想要一个唯一的号码,那么

var timestamp = new Date().getUTCMilliseconds();

会给你一个简单的数字。但是,如果您需要可读版本,则需要进行一些处理:

 var now = new Date();

 timestamp = now.getFullYear().toString(); // 2011
 timestamp += (now.getMonth < 9 ? '0' : '') + now.getMonth().toString(); // JS months are 0-based, so +1 and pad with 0's
 timestamp += ((now.getDate < 10) ? '0' : '') + now.getDate().toString(); // pad with a 0
 ... etc... with .getHours(), getMinutes(), getSeconds(), getMilliseconds()

原文由 Marc B 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题