我的客戶端應用程序需要從服務器獲得「在某個值和1970之間多少秒」。來自C#的DateTime遲了一個小時?
我用下面的代碼測試此:
var span = (DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0, 0).ToLocalTime()).TotalSeconds;
return span;
但是,如果我轉換的結果,從這個UNIX時間,我得到的東西,後來這一個小時比現在,讓我的客戶端應用程序不能正常爲預期。
發生了什麼事?
我的客戶端應用程序需要從服務器獲得「在某個值和1970之間多少秒」。來自C#的DateTime遲了一個小時?
我用下面的代碼測試此:
var span = (DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0, 0).ToLocalTime()).TotalSeconds;
return span;
但是,如果我轉換的結果,從這個UNIX時間,我得到的東西,後來這一個小時比現在,讓我的客戶端應用程序不能正常爲預期。
發生了什麼事?
這是你在找什麼?
var span = (DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds;
return span;
嘗試用UTC時間:
(DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc).TotalSeconds;
嘗試:
TimeSpan span = DateTime.Now.Subtract(new DateTime(1970,1,1,0,0,0));
然後使用span.TotalSeconds
,如果你擺脫'ToLocalTime()'會發生什麼? –
@JohnSaunders我現在得到4小時前 – SB2055
爲什麼你不用UTC來做這件事,讓客戶關心時區? –