C# 如何转换生成长整型的时间


640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

这个数字字符串就是我们平常所说的时间戳。

什么是时间戳?

时间戳(timestamp),通常是一个字符序列,唯一地标识某一刻的时间。

时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。

C# 将这种长整型数字转换成DataTime

/// <summary>

/// 转换时间戳为C#时间

/// </summary>

/// <param name="timeStamp">时间戳 单位:毫秒</param>

/// <returns>C#时间</returns>

public static DateTime ConvertTimeStampToDateTime(long timeStamp)

{

    DateTime defaultTime = new DateTime(1970, 1, 1, 0, 0, 0);

    long defaultTick = defaultTime.Ticks;

    long timeTick = defaultTick + timeStamp * 10000;

    //// 东八区 要加上8个小时

    DateTime dt = new DateTime(timeTick).AddHours(8);

    return dt;

}

/// <summary>

/// DateTime时间格式转换为Unix时间戳格式

/// </summary>

/// <param name="time"> DateTime时间格式</param>

/// <returns>Unix时间戳格式  单位:毫秒</returns>

public static long ConvertToTimestamp(DateTime time)

{

    DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));

    return (long)(time - startTime).TotalSeconds * 1000;

}


posted @   天使不哭  阅读(774)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示