zoukankan      html  css  js  c++  java
  • C# unix时间戳转换

    场景:由于业务需要和java 开发的xxx系统对接日志,xxx系统中用“1465195479100” 来表示时间,C# 里面需要转换做一下逻辑处理,见代码段。

    C#获取的unix时间戳是10位,原因是 java采用毫秒计算,而C#采用秒,获取unix时间戳的代码中 乘以1000就是这个原因。

    C# 中直接获取时间戳, DateTime.Now.Ticks;   ( DateTime.Now.Ticks;是从0001 年 1 月 1 日午夜 12:00:00 开始,单位是微秒。

     /// <summary>  
            /// 获取时间戳  13位
            /// </summary>  
            /// <returns></returns>  
            public static long GetTimeStamp()
            {
                TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
                return Convert.ToInt64(ts.TotalSeconds * 1000);
            }
            /// <summary>
            /// 将时间戳转换为日期类型,并格式化
            /// </summary>
            /// <param name="longDateTime"></param>
            /// <returns></returns>
            private static string LongDateTimeToDateTimeString(string longDateTime)
            {
                //用来格式化long类型时间的,声明的变量
                long unixDate;
                DateTime start;
                DateTime date;
                //ENd
    
                unixDate = long.Parse(longDateTime);
                start = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
                date = start.AddMilliseconds(unixDate).ToLocalTime();
    
                return date.ToString("yyyy-MM-dd HH:mm:ss");
    
            }
    

      

    /// <summary> 
    /// 获取时间戳 10位
    /// </summary> 
    /// <returns></returns> 
    public static long GetTimeStampTen()
    {
    return (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000;
    }
  • 相关阅读:
    go-go协程
    linux-pclint代码检测
    linux-32位-交叉编译openssl
    go-json类
    mysql-定时任务
    go-IO操作
    go-异常处理-error-panic-recover
    go-defer语句
    go-select
    go-指针
  • 原文地址:https://www.cnblogs.com/qianlg/p/5564286.html
Copyright © 2011-2022 走看看