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;
    }
  • 相关阅读:
    星空雅梦
    星空雅梦
    Navicat permium快捷键
    Mysql建表+创建索引
    mysql 常见ALTER TABLE操作
    mysql常用的索引种类
    xShell终端中文乱码-解决方法
    git删除本地分支和远程分支
    git版本回退
    log4j2配置文件log4j2.xml详解
  • 原文地址:https://www.cnblogs.com/qianlg/p/5564286.html
Copyright © 2011-2022 走看看