[C#] C#根据时间产生有序的GUID编码 →→→→→进入此内容的聊天室

来自 , 2019-05-06, 写在 C#, 查看 130 次.
URL http://www.code666.cn/view/526c3215
  1. public static Guid GenerateGuid()
  2. {
  3.     byte[] guidArray = Guid.NewGuid().ToByteArray();
  4.  
  5.     var baseDate = new DateTime(1900, 1, 1);
  6.     DateTime now = DateTime.Now;
  7.     var days = new TimeSpan(now.Ticks - baseDate.Ticks);
  8.     TimeSpan msecs = now.TimeOfDay;
  9.  
  10.     byte[] daysArray = BitConverter.GetBytes(days.Days);
  11.     byte[] msecsArray = BitConverter.GetBytes((long)(msecs.TotalMilliseconds / 3.333333));
  12.  
  13.     Array.Reverse(daysArray);
  14.     Array.Reverse(msecsArray);
  15.  
  16.     Array.Copy(daysArray,daysArray.Length - 2,guidArray,guidArray.Length - 6,2);
  17.     Array.Copy(msecsArray,msecsArray.Length - 4,guidArray,guidArray.Length - 4,4);
  18.  
  19.     return new Guid(guidArray);
  20. }
  21. //csharp/4476

回复 "C#根据时间产生有序的GUID编码"

这儿你可以回复上面这条便签

captcha