這個數字字符串就是我們平常所說的時間戳。
什么是時間戳?
時間戳(timestamp),通常是一個字符序列,唯一地標識某一刻的時間。
時間戳是指格林威治時間1970年01月01日00時00分00秒(北京時間1970年01月01日08時00分00秒)起至現在的總秒數。
C# 將這種長整型數字轉換成DataTime
/// <summary>
/// 轉換時間戳為C#時間
/// </summary>
/// <param name="timeStamp">時間戳 單位:毫秒</param>
/// <returns>C#時間</returns>
public static DateTime ConvertTimeStampToDateTime(long timeStamp)
{
? ? DateTime defaultTime = new DateTime(1970, 1, 1, 0, 0, 0);
? ? long defaultTick = defaultTime.Ticks;
? ? long timeTick = defaultTick + timeStamp * 10000;
? ? 東八區 要加上8個小時
? ? DateTime dt = new DateTime(timeTick).AddHours(8);
? ? return dt;
}
/// <summary>
/// DateTime時間格式轉換為Unix時間戳格式
/// </summary>
/// <param name="time"> DateTime時間格式</param>
/// <returns>Unix時間戳格式? 單位:毫秒</returns>
public static long ConvertToTimestamp(DateTime time)
{
? ? DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
? ? return (long)(time - startTime).TotalSeconds * 1000;
}