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();
   }
 }

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值