C# 中获取时间戳的方法

C# 中获取时间戳的方法:

最常用的Unix时间戳(TimeStamp)是指格林尼治时间1970年1月1日0时(北京时间1970年1月1日8时)起至现在的总秒数(10位)或总毫秒数(13位)。

实现代码:

/// <summary>
 /// 时间工具类
 /// </summary>
 public static class DateTimeUtil
 {
   /// <summary>
   /// 时间戳计时开始时间
   /// </summary>
   private static DateTime timeStampStartTime = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
   /// <summary>
   /// DateTime转换为10位时间戳(单位:秒)
   /// </summary>
   /// <param name="dateTime"> DateTime</param>
   /// <returns>10位时间戳(单位:秒)</returns>
   public static long DateTimeToTimeStamp(DateTime dateTime)
   {
     return (long)(dateTime.ToUniversalTime() - timeStampStartTime).TotalSeconds;
   }
   /// <summary>
   /// DateTime转换为13位时间戳(单位:毫秒)
   /// </summary>
   /// <param name="dateTime"> DateTime</param>
   /// <returns>13位时间戳(单位:毫秒)</returns>
   public static long DateTimeToLongTimeStamp(DateTime dateTime)
   {
     return (long)(dateTime.ToUniversalTime() - timeStampStartTime).TotalMilliseconds;
   }
   /// <summary>
   /// 10位时间戳(单位:秒)转换为DateTime
   /// </summary>
   /// <param name="timeStamp">10位时间戳(单位:秒)</param>
   /// <returns>DateTime</returns>
   public static DateTime TimeStampToDateTime(long timeStamp)
   {
     return timeStampStartTime.AddSeconds(timeStamp).ToLocalTime();
   }
   /// <summary>
   /// 13位时间戳(单位:毫秒)转换为DateTime
   /// </summary>
   /// <param name="longTimeStamp">13位时间戳(单位:毫秒)</param>
   /// <returns>DateTime</returns>
   public static DateTime LongTimeStampToDateTime(long longTimeStamp)
   {
     return timeStampStartTime.AddMilliseconds(longTimeStamp).ToLocalTime();
   }
 }

欢迎分享,(木庄网络博客交流QQ群:562366239

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论