2013-07-10 22 views
0

我的客戶端應用程序需要從服務器獲得「在某個值和1970之間多少秒」。來自C#的DateTime遲了一個小時?

我用下面的代碼測試此:

var span = (DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0, 0).ToLocalTime()).TotalSeconds; 

return span; 

但是,如果我轉換的結果,從這個UNIX時間,我得到的東西,後來這一個小時比現在,讓我的客戶端應用程序不能正常爲預期。

發生了什麼事?

+1

,如果你擺脫'ToLocalTime()'會發生什麼? –

+0

@JohnSaunders我現在得到4小時前 – SB2055

+4

爲什麼你不用UTC來做這件事,讓客戶關心時區? –

回答

2

這是你在找什麼?

var span = (DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds; 

return span; 
6

嘗試用UTC時間:

(DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc).TotalSeconds; 
-1

嘗試:

TimeSpan span = DateTime.Now.Subtract(new DateTime(1970,1,1,0,0,0)); 

然後使用span.TotalSeconds

相關問題