小工具知识网

当前位置: 首页 > 行业知识 > C# 时间戳(TimeStamp)与时间(DateTime)的互相转换

行业知识

C# 时间戳(TimeStamp)与时间(DateTime)的互相转换

2026-10-24 11:09:26 来源:互联网转载

文章目录

  • 一、时间戳是什么
  • 二、时间戳的优势
  • 三、C#代码实现
    • 1.取当前时间戳
    • 2.取指定时间戳
    • 3.index.php/tags-41973.html" >���间戳转时间

      .NET Standard 2.0 通用扩展库!开箱即用。

      ()

      Nuget地址:https://www.nuget.org/packages/Sesy

      Gitee地址:https://gitee.com/sesy/sesy

      ()

      一、时间戳是什么

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

      二、时间戳的优势

      1. 精确度高:时间戳能够记录精确到秒、毫秒、甚至微秒的时间,相比人类的日期时间表示方式更加精确。
      2. 可跨平台:时间戳是一种标准的时间表示方式,不受不同操作系统、程序语言等因素的影响,可以方便地跨平台传输和处理。
      3. 计算简便:时间戳是一个数字,可以直接进行比较、计算和排序。
      4. 存储节省:时间戳是一个数值类型,相比日期时间类型,可以节省存储空间。
      5. 兼容性好:时间戳可以和其他数据类型进行转换。

      三、C#代码实现

      1.取当前时间戳

      /// /// 取当前时间的时间戳,高并发情况下会有重复。想要解决这问题请使用加锁或其他方式。/// /// 是否精确到毫秒/// 返回long类型时间戳public static long GetTimeStamp(bool accurateToMilliseconds = false){if (accurateToMilliseconds){return DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();}else{return DateTimeOffset.UtcNow.ToUnixTimeSeconds();}}
      static void Main(string[] args){// 1700227312 精确到秒的时间戳 长度为10Console.WriteLine(GetTimeStamp(false));// 1700227312509 精确到毫秒的时间戳 长度为13Console.WriteLine(GetTimeStamp(true));}

      2.取指定时间戳

      /// /// 取指定时间的时间戳/// /// 是否精确到毫秒/// 返回long类型时间戳public static long GetTimeStamp(DateTime dateTime, bool accurateToMilliseconds = false){if (accurateToMilliseconds){return new DateTimeOffset(dateTime).ToUnixTimeMilliseconds();}else{return new DateTimeOffset(dateTime).ToUnixTimeSeconds();}}
      static void Main(string[] args){// 1700227312 精确到秒的时间戳 长度为10Console.WriteLine(GetTimeStamp(DateTime.Now, false));// 1700227312509 精确到毫秒的时间戳 长度为13Console.WriteLine(GetTimeStamp(DateTime.Now, true));}

      3.时间戳转时间

      /// /// 指定时间戳转为时间。/// /// 需要被反转的时间戳/// 是否精确到毫秒/// 返回时间戳对应的DateTimepublic static DateTime GetTime(long timeStamp, bool accurateToMilliseconds = false){if (accurateToMilliseconds){return DateTimeOffset.FromUnixTimeMilliseconds(timeStamp).LocalDateTime;}else{return DateTimeOffset.FromUnixTimeSeconds(timeStamp).LocalDateTime;}}
      static void Main(string[] args){// 2023/11/17 21:21:52Console.WriteLine(GetTime(1700227312, false));// 2023/11/17 21:21:52Console.WriteLine(GetTime(1700227312509, true));}

上一篇:mc服务器太卡怎么办?

下一篇:镇江机房防火门哪里买?