本文主要是介绍一种生成有序的GUID字符串的代码实现(TypeScript),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
以下代码用于生成有序的GUID字符串。
使用方法为:new OrderedGUIDGenerator().NewGuid()即可生成根据时间排序的Guid字符串。
/*** 用于生成根据时间戳附加随机数确定的有序GUID值* 使用方法:var orderedGuid=new OrderedGUIDGenerator().NewGuid()*/
export default class OrderedGUIDGenerator{//生成的Guid的格式为:dddddddd-dddd-Mddd-Ndnn-rrrrrrrrrrrr// - M = RFC 版本(version), 这里取为4// - N = RFC 变体(variant),这里固定为8// - d = 从公元1年1月1日0时至今的时间总长(以100ns为单位)// - n - 从公元1年1月1日0时至今的以纳秒为单位的时间的最后两位尾数(即在100ns范围内的尾数,其最小值0,最大值99,它是nanaseconds的最后两位尾数)// - r = 随机数(random bytes)private static DIFF:bigint=62135596800000000000n; //从公元1年1月1日0时0分0秒到公元1970年1月1日0时0分0秒的纳秒数//nodeVitualStartTime表示node运行时启动时的纳秒数(从公元1年1月1日0时0分0秒算起)。资料显示,process.hrtime.bigint()方法计算的是方法调用时刻与node启动时的时间差(ns)private static nodeVitualStartTime:big
这篇关于一种生成有序的GUID字符串的代码实现(TypeScript)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!