2017-08-13 22 views
0

所以我嘗試了一些其他的解決方案,但都沒有工作。我現在的方法試圖使用時間跨度方法:試圖將c#中的UNIX時間轉換爲DateTime

unixtime是一個int,包含 '1502557200'

var test_date = TimeSpan.FromSeconds(unixtime); 

test_date成爲 '{17390.17:00:00}'

我在做什麼錯誤?我試圖避免產生新的方法來處理轉換,只是做它內聯,

三江源

回答

2

Unix紀元是1970-01-01 00:00 UTC 。

但.NET零時間稍早。所以,你隱蔽作爲從Unix紀元偏移:

var dt = (new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).AddSeconds(unixTime); 

晚於這個規定,所以「什麼UTC本來如果它已經存在。」

+0

2017!= 1970 ... – pinkfloydx33

+1

@ pinkfloydx33確實:-)(相同的問題,每個新的一年:繼續寫下去年的號碼。) – Richard

+0

謝謝理查德,爲我工作 – Metzer