zoukankan      html  css  js  c++  java
  • C#生成一个按时间排序的GUID

    /// <summary>
            /// 创建一个按时间排序的Guid
            /// </summary>
            /// <returns></returns>
            public static string GetID()
            {
                byte[] guidArray = Guid.NewGuid().ToByteArray();
                DateTime now = DateTime.Now;
    
                DateTime baseDate = new DateTime(1900, 1, 1);
    
                TimeSpan days = new TimeSpan(now.Ticks - baseDate.Ticks);
    
                TimeSpan msecs = new TimeSpan(now.Ticks - (new DateTime(now.Year, now.Month, now.Day).Ticks));
                byte[] daysArray = BitConverter.GetBytes(days.Days);
                byte[] msecsArray = BitConverter.GetBytes((long)(msecs.TotalMilliseconds / 3.333333));
    
                Array.Copy(daysArray, 0, guidArray, 2, 2);
                //毫秒高位
                Array.Copy(msecsArray, 2, guidArray, 0, 2);
                //毫秒低位
                Array.Copy(msecsArray, 0, guidArray, 4, 2);
                return new System.Guid(guidArray).ToString();
            }
    

      

  • 相关阅读:
    2-2. 然后是几点(15)
    2-1. 厘米换算英尺英寸(15)
    2-0. 整数四则运算(10)
    忙碌的下半学期
    ACM 第十九天
    ACM 第十八天
    ACM 第十七天
    凸包模板
    极角排序常用方法
    ACM 第十六天
  • 原文地址:https://www.cnblogs.com/soulsjie/p/11864492.html
Copyright © 2011-2022 走看看