時間戳的使用


一、什么是時間戳

​ 時間戳, 又叫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