zoukankan      html  css  js  c++  java
  • C#根据时间产生有序的GUID编码

    public static Guid GenerateGuid()
    {
        byte[] guidArray = Guid.NewGuid().ToByteArray();
    
        var baseDate = new DateTime(1900, 1, 1);
        DateTime now = DateTime.Now;
        var days = new TimeSpan(now.Ticks - baseDate.Ticks);
        TimeSpan msecs = now.TimeOfDay;
    
        byte[] daysArray = BitConverter.GetBytes(days.Days);
        byte[] msecsArray = BitConverter.GetBytes((long)(msecs.TotalMilliseconds / 3.333333));
    
        Array.Reverse(daysArray);
        Array.Reverse(msecsArray);
    
        Array.Copy(daysArray,daysArray.Length - 2,guidArray,guidArray.Length - 6,2);
        Array.Copy(msecsArray,msecsArray.Length - 4,guidArray,guidArray.Length - 4,4);
    
        return new Guid(guidArray);
    }
    public static Guid GenerateGuid()
    {
        byte[] guidArray = Guid.NewGuid().ToByteArray();
     
        var baseDate = new DateTime(1900, 1, 1);
        DateTime now = DateTime.Now;
        var days = new TimeSpan(now.Ticks - baseDate.Ticks);
        TimeSpan msecs = now.TimeOfDay;
     
        byte[] daysArray = BitConverter.GetBytes(days.Days);
        byte[] msecsArray = BitConverter.GetBytes((long)(msecs.TotalMilliseconds / 3.333333));
     
        Array.Reverse(daysArray);
        Array.Reverse(msecsArray);
     
        Array.Copy(daysArray,daysArray.Length - 2,guidArray,guidArray.Length - 6,2);
        Array.Copy(msecsArray,msecsArray.Length - 4,guidArray,guidArray.Length - 4,4);
     
        return new Guid(guidArray);
    }
  • 相关阅读:
    PHP之readdir()函数
    PHP之compact()函数
    scanf_s
    GitHub高级搜索
    负载均衡算法
    git操作
    SpringBoot引入监听器
    Redis高可用
    50个常用sql语句 网上流行的学生选课表的例子
    Mysql优化策略
  • 原文地址:https://www.cnblogs.com/shiningrise/p/5690016.html
Copyright © 2011-2022 走看看