c#时间戳

首先了解下时间戳

//JavaScript时间戳:是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总毫秒数。
//Unix时间戳:是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。
//c#时间戳:0001 年 1 月 1 日 0时0分0秒 开始的

//unix时间戳转c#时间戳
    /// <summary>
    /// unix时间戳(1970时间)转c#时间
    /// </summary>
    /// <param name="unixTimeStamp"></param>
    /// <returns></returns>
    public static DateTime UnixTicks2CS(long unixTimeStamp)
    {
        System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 当地时区
        DateTime dt = startTime.AddSeconds(unixTimeStamp);
        return dt;
    }


//求时间戳之差的时间
    /// <summary>
    /// 获取unix时间戳差值
    /// </summary>
    /// <param name="endTicks">截至日期的时间戳</param>
    /// <returns></returns>
    public static TimeSpan GetTimeTicksLerp(long endTicks)
    {
        DateTime dateTime = UnixTicks2CS(endTicks);
        return dateTime - DateTime.Now;
    }

 DateTime d1 = new DateTime(2018, 5, 10);

 DateTime d1 = new DateTime(时间戳);

2个DateTime相减后则是 TimeSpan 类型,然后就可以.Days    .Hour  

posted @ 2018-05-09 21:16  三页菌  阅读(243)  评论(0编辑  收藏  举报