zoukankan      html  css  js  c++  java
  • C# DateTime时间格式转换为Unix时间戳格式

    double ntime=dateTimeToUnixTimestamp(DateTime.Now);

    long g1 = GetUnixTimestamp();
    long g2 = ConvertDateTime2Long(DateTime.Now);

    public double dateTimeToUnixTimestamp(DateTime datetime)
    {
    return (datetime - new DateTime(1970, 1, 1).ToLocalTime()).TotalSeconds/10000;
    }

          string date = DateTime.Now.AddYears(-20).ToString("yyyy-MM-dd HH:mm:ss");

    1995-11-05 20:15:37
    /// <summary>
    /// 将c# DateTime时间格式转换为Unix时间戳格式
    /// </summary>
    /// <param name="time">时间</param>
    /// <returns>long</returns>
    public long ConvertDateTime2Long(System.DateTime time)
    {
    DateTime timeStamp = new DateTime(1970, 1, 1); //得到1970年的时间戳
    long a = (time.ToUniversalTime().Ticks - timeStamp.Ticks) / 10000000; //注意这里有时区问题,用now就要减掉8个小时
    return a;
    }

    //获取当前时间的时间戳
    public long GetUnixTimestamp()
    {
    DateTime timeStamp = new DateTime(1970, 1, 1); //得到1970年的时间戳
    long a = (DateTime.UtcNow.Ticks - timeStamp.Ticks) / 10000; //注意这里有时区问题,用now就要减掉8个小时
    return a;
    }

                //1416270102
                long temp = GetUnixTimestamp();
                DateTime tamp = GetTime(Convert.ToString(temp));        
            
    
            /// <summary>
            /// c# to unix
            /// </summary>
            /// <returns></returns>
            public static long GetUnixTimestamp()
            {
                DateTime timeStamp = new DateTime(1970, 1, 1); //得到1970年的时间戳
                long a = (DateTime.UtcNow.Ticks - timeStamp.Ticks) / 10000000; //注意这里有时区问题,用now就要减掉8个小时
                return a;
            }
            /// <summary>
            /// unix to c#
            /// </summary>
            /// <param name="timeStamp"></param>
            /// <returns></returns>
            public static DateTime GetTime(string timeStamp)
            {
                DateTime dtStart = new DateTime(1970, 1, 1); //得到1970年的时间戳
                long lTime = long.Parse(timeStamp + "0000000");
                TimeSpan toNow = new TimeSpan(lTime);
                DateTime temp=dtStart.Add(toNow);
                System.TimeSpan duration = new System.TimeSpan(0, 8, 0, 0);
                System.DateTime answer = temp.Add(duration);
                return answer;
            }
  • 相关阅读:
    js中验证身份证号码是否正确支持15位和18位身份证号
    vue-element-admin-i18n 前端框架的使用
    根据年份选择周数-js
    js 计算开始日期和结束日期跨度几个月份的方法
    Java上传图片到服务器
    c# List<Object>和List<实体>相互转化
    GC 相关详细参数
    Groovy脚本和Groovy类反编译文件
    dev 控件中点击TreeList节点高亮显示GridControl中存在的行
    spring容器
  • 原文地址:https://www.cnblogs.com/androllen/p/3955199.html
Copyright © 2011-2022 走看看