2009-10-23 132 views

回答

4

time_tdefined作爲秒從Unix時間戳的日期1970年1月1日00:00 @ UTC的數量。所以,你基本上需要弄清楚你的蜱代表了多少時間,並減去了紀元時間。以下應該做到這一點。

double GetTimeTSecondsFrom(long ticks) 
{ 
    DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); 
    return (new DateTime(ticks) - epoch).TotalSeconds; 
} 
+0

這是偉大的...... 也普萊舍u能告訴我如何從time_t的轉換蜱比我 感謝 – user175084 2009-10-23 15:47:50

+0

更好的答案,因爲我忘了指定UTC .. – stuartd 2009-10-23 20:23:21

+2

執行逆操作,只是將'epoch.Ticks'添加到'TimeSpan.FromSeconds(time_t_value).TotalTicks'。 – 2009-10-23 22:55:57

1

對於time_t的:

long ticks = 633918528000000000; 
DateTime target = new DateTime(ticks); 
DateTime start = new DateTime(1970, 1, 1, 0, 0, 0); 
double time_t = (target - start).TotalSeconds;