Loading

时间戳的使用

一、什么是时间戳

​ 时间戳, 又叫Unix Stamp. 从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。

二、如何计算时间戳

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

public static long GetShortTimestamp(DateTime dateTime)
{
      var dt1970 = new DateTime(1970, 1, 1, 0, 0, 0, 0);
      return (dateTime.ToUniversalTime().Ticks - dt1970.Ticks) / 10000000;
 }

public static long GetLongTimestamp(DateTime dateTime)
{
      var dt1970 = new DateTime(1970, 1, 1, 0, 0, 0, 0);
      return (dateTime.ToUniversalTime().Ticks - dt1970.Ticks) / 10000000;
}

.NET4.7以上版本提供了更为简单计算时间戳的方法,具体如下:

new DateTimeOffset(DateTime.UtcNow).ToUnixTimeSeconds(); // 10位
new DateTimeOffset(DateTime.UtcNow).ToUnixTimeMilliseconds(); // 13位
posted @ 2020-07-21 17:02  Dwaynerbing  阅读(1412)  评论(0编辑  收藏  举报