3
如果我在C#控制檯應用程序中執行此代碼,它工作正常。TimeZoneInfo.FindSystemTimeZoneById()在Unity應用程序中拋出異常
TimeZoneInfo easternZone = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");
Console.WriteLine(easternZone.DisplayName);
然而,當我用同樣的方法在Unity應用,將拋出一個異常:
System.TimeZoneNotFoundException: Exception of type 'System.TimeZoneNotFoundException' was thrown.
at System.TimeZoneInfo.FindSystemTimeZoneByFileName (System.String id, System.String filepath) [0x00000] in <filename unknown>:0
at System.TimeZoneInfo.FindSystemTimeZoneById (System.String id) [0x00000] in <filename unknown>:0
...
我注意到一個奇怪的是,異常在一個名爲方法拋出當MSDN文檔明確指出從註冊表中檢索信息時,「FindSystemTimeZoneByFileName」。
非常感謝您的快速回答以及您提供的鏈接。我非常有信心它能解決問題,但不幸的是它沒有。事實上,我意識到我甚至無法使用'TimeZoneInfo.GetSystemTimeZones()'獲得可用時區的列表。我想這個問題不僅僅在Mono上,而且與Unity或者我們在項目中使用的任何其他庫有關。我會繼續挖掘, –
我已經在這個問題上投入了更多時間,並且發現,實際上,這是一個Unity錯誤,正如這裏所報道的:https://issuetracker.unity3d.com/issues/win-system- dot-timezoneinfo-does-not-return-any-time-zones –
感謝您的跟進。讓我們知道他們是否修復它。 :) –