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 @   三页菌  阅读(252)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示