在NET語言中,與時間有關係的方法都會使用 DateTime 來處理,它提供完整的時間轉換與提取方法。
不過有時候在提取某些時間戳記時,卻是一個長整數。這個長整數通常使用 Unix 的時間格式來顯示。
數字的部分是從 1970年01月01日開始計算起,所以只要把從這個時間起的秒數加上,就能得到 DataTime。
Unix 時間戳記轉換為 C# 時間格式
[code lang=”csharp”]
public static DateTime UnixTimeStampToDateTime( double unixTimeStamp )
{
// Unix timestamp is seconds past epoch
System.DateTime dtDateTime = new DateTime(1970,1,1,0,0,0,0,System.DateTimeKind.Utc);
dtDateTime = dtDateTime.AddSeconds( unixTimeStamp ).ToLocalTime();
return dtDateTime;
}
[/code]
由 DateTime 秒數轉換為 Unix timestamp
[code lang=”csharp”]
public static DateTime JavaTimeStampToDateTime(double javaTimeStamp)
{
// Java timestamp is millisecods past epoch
System.DateTime dtDateTime = new DateTime(1970,1,1,0,0,0,0,System.DateTimeKind.Utc);
dtDateTime = dtDateTime.AddSeconds(Math.Round(javaTimeStamp / 1000)).ToLocalTime();
return dtDateTime;
}
[/code]