时间戳的使用


一、什么是时间戳

​ 时间戳, 又叫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位


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM