The TimeZoneInfo class in the regular .NET Framework has the FindSystemTimeZoneId method. It allows you to specify a TimeZone id and return the related time zone information.
A list of Time Zone id’s can be found here: http://www.xiirus.net/articles/article-_net-convert-datetime-from-one-timezone-to-another-7e44y.aspx.
However if you try to execute this code in WinRT, you’ll notice that the FindSystemTimeZoneById method is not available.
The reason could be found in the same MSDN documentation:
The only solution I can think of is doing a call to the server and calculate the TimeZoneInfo there…
// Get Brussels Standard Time zone TimeZoneInfo tst = TimeZoneInfo.FindSystemTimeZoneById("Romance Standard Time");
However if you try to execute this code in WinRT, you’ll notice that the FindSystemTimeZoneById method is not available.
The reason could be found in the same MSDN documentation:
“FindSystemTimeZoneById tries to match id to the subkey names of the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Time Zones branch of the registry under Windows XP and Windows Vista. This branch does not necessarily contain a comprehensive list of time zone identifiers.”I’m assuming that this registry key is not available from WinRT. So anyone who knows an alternative way to get this information?
The only solution I can think of is doing a call to the server and calculate the TimeZoneInfo there…