DateTime.Ticks:表示0001 年 1 月 1 日午夜 12:00:00 以來所經歷的 100 納秒數,即Ticks的屬性爲100納秒(1Ticks = 0.0001毫秒)。函數
Unix時間戳:是從1970年1月1日(UTC/GMT的午夜)開始所通過的秒數,不考慮閏秒。code
1秒 = 1000毫秒變量
1毫秒 = 1000微妙date
1微秒 = 1000納秒im
所以, 1毫秒 = 10000納秒時間戳
在實際使用中常常須要精確到毫秒,所以這裏下面兩個函數的使用單位都是「毫秒」,若要轉換成「秒」,能夠再除以或乘以1000。時間
/// <summary> /// 獲取1970-01-01至dateTime的毫秒數 /// </summary> public long GetTimestamp(DateTime dateTime) { DateTime dt1970 = new DateTime(1970, 1, 1, 0, 0, 0, 0); return (dateTime.Ticks - dt1970.Ticks) / 10000; } /// <summary> /// 根據時間戳timestamp(單位毫秒)計算日期 /// </summary> public DateTime NewDate(long timestamp) { DateTime dt1970 = new DateTime(1970, 1, 1, 0, 0, 0, 0); long t = dt1970.Ticks + timestamp * 10000; return new DateTime(t); }