/// <summary>
/// 將c# DateTime時間格式轉換爲Unix時間戳格式
/// </summary>
/// <param name="time">時間</param>
/// <returns>long</returns>
public static long ConvertDateTimeToInt(System.DateTime time)
{
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1, 0, 0, 0, 0));
long t = (time.Ticks - startTime.Ticks) / 10000; //除10000調整爲13位
return t;
}
/// <summary>
/// 時間戳轉爲C#格式時間 timeStamp=146471041000
/// </summary>
/// <param name=」timeStamp」></param>
/// <returns></returns>
private DateTime ConvertStringToDateTime(string timeStamp)
{
DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
long lTime = long.Parse(timeStamp + "0000");
TimeSpan toNow = new TimeSpan(lTime);
return dtStart.Add(toNow);
}
注:這個日期(1970-1-1),如今計算機和一些電子設備時間的計算和顯示是以距曆元(即格林威治標準時間 1970 年 1 月 1 日的 00:00:00.000,格里高利曆)的偏移量爲標準的,有人就戲稱英國的格林威治天文臺是「時間開始的地方」。c#