2013-04-13 91 views

回答

3

.NET不natievely支持TZDB,因爲微軟有它自己的時區數據庫。有關詳細信息,請參見TimeZone tag wiki

如果要使用TZDB區域,請使用NodaTime庫。你問什麼確切的翻譯是:

using NodaTime; 

... 

var timeZoneId = DateTimeZoneProviders.Tzdb.GetSystemDefault().Id; 
Console.WriteLine(timeZoneId); 
+0

它的工作原理非常感謝。 –

1

通常這可以使用TimeZone類來完成。根據我的理解,這與您將獲得的本地庫最接近。你爲什麼需要這個特定的結果?

請看Microsoft Time Zones和Windows等效的轉換表*,因爲Windows不完全支持TZID,請查看下面的堆棧溢出問題以獲取更多信息。我希望這更有用,因爲我誤解了你以前的問題! - 抱歉!

//Get A reference to our timezone object 
TimeZone t = TimeZone.CurrentTimeZone; 

//Print out the display name 
Console.WriteLine(t.StandardName); 

MSDN REFERENCE

http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/zone_tzid.html

請參閱此之前的計算器問題 .NET TimeZoneInfo from Olson time zone

+0

你知道這會不會.. –

+0

我是個白癡,我誤解了問題。 –

+0

查看更新,更改了信息。你想用這個達到什麼目的,也許還有另一種方式? –

相關問題