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;
    }
  • 相关阅读:
    Traefik-v2.x快速入门
    jenkins pipeline持续集成
    phpstorm 2017激活码(方法)
    PHP保留两位小数的几种方法
    php 数组排序 按照某字段
    sql大全
    解决jpgraph在php7.0版本下时,无法显示例子图表的问题
    Linux 定时任务crontab使用
    VIM命令操作
    wampserver变橙色,apache 服务无法启动!问题解决小记(安装失败亦可参考)
  • 原文地址:https://www.cnblogs.com/qianlg/p/5564286.html
Copyright © 2011-2022 走看看