我有一些來自SharePoint的日期時間值。 SharePoint以UTC格式存儲所有時間。因此,顯示用戶的時候,我UTC時間轉換爲使用此代碼的本地時區 -根據用戶的時區顯示UTC時間
internal static DateTime? ConvertTimeFromUtc(DateTime? utcTime)
{
if (utcTime.HasValue)
{
return TimeZoneInfo.ConvertTimeFromUtc(utcTime.Value, TimeZoneInfo.Local);
}
return null;
}
難道我說得對,這將根據託管Web應用程序的服務器的時區返回的時間?
目前我們的生產服務器位於英國,用戶也位於英國。所以,上面的代碼將正常工作。
但是,未來,生產服務器甚至用戶可以在世界任何地方。我該怎麼做才能使它在未來的增強中無錯誤?
我是否需要使用JavaScript來查找當前用戶的時區,在會話中保存該信息,然後在顯示任何日期時間值時使用此信息?
謝謝!
我會推薦你上次寫的觀點,對我來說這是最合乎邏輯的事情。 UTC工作無處不在,您只需調整客戶機上的顯示。 –
用戶是否已通過身份驗證?如果是這樣,您可以在嚮應用程序註冊時存儲他們的時區,然後使用它將時間轉換爲適當的區域 –