簡體   English   中英

將utc轉換為本地日期時間

[英]Convert utc to local datetime

我在web.config中有一個全球化設置,如下所示:

<globalization culture="de-DE" uiCulture="de-DE" />

並在平均aspx頁面輸出...... 喜歡:

var a = DateTime.UtcNow.ToLocalTime().ToString();
var b = DateTime.UtcNow.ToString();
var c = DateTime.Now.ToLocalTime().ToString();
var d = TimeZone.CurrentTimeZone.ToLocalTime(DateTime.UtcNow).ToString();

結果:a,b,c,d的值是完全相同的(例如01.01.2001 17:00:00),當我希望本地和UTC時間不同時。

我在這里缺少什么,如何從UTC日期獲得正確的本地時間..我已經檢查了其他主題,但它沒有工作..

無論數據中心位於何處,Microsoft Azure都將UTC時間設置為本地時間。 如果要轉換為用戶瀏覽器本地的時間,則需要以編程方式進行轉換。

由於Azure是一項全球服務,因此本身沒有本地時間,並且為了在所有全球數據中心保持一致,使用標准時間是有意義的。

更多信息在。

http://michaelcollier.wordpress.com/2010/05/22/hey-azure-what-time-is-it/

正如@John指出的那樣,你必須在客戶端做到這一點。 如果它是一個Web應用程序,您可以通過這種方式將UTC轉換為本地時間: http//blogs.msdn.com/b/marcelolr/archive/2008/06/04/javascript-date-utc-and-local-times。 ASPX

這是我發現對我有用的東西:

   TimeZoneInfo de = TimeZoneInfo.FindSystemTimeZoneById("W. Europe Standard Time");
   var localTime = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, de);

即使它是W.歐洲標准時間,它仍然考慮到夏令時。 (我很好地與GMT / BST合作)

我曾希望ToLocalTime在轉換時會考慮CultureUI / Culture全球化設置,但情況似乎並非如此。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM