title: How do you get info for an arbitrary time zone in Windows?
body: <p>Ideally, what I'd like to be able to do is take the name of a time zone and ask Windows for its corresponding time zone info (offset from UTC, DST offset, dates for DST switch, etc.). It looks like Windows uses a <a href="http://msdn.microsoft.com/en-us/library/ms725481(v=VS.85).aspx" rel="noreferrer">TIME_ZONE_INFORMATION</a> struct to hold this sort of info. So, presumably, I want a function which takes a string with the time zone's name and returns a TIME_ZONE_INFORMATION struct.</p>
  
  <p>However, all I can find are functions such as <a href="http://msdn.microsoft.com/en-us/library/ms724421(v=VS.85).aspx" rel="noreferrer">GetTimeZoneInformation()</a> which give me the TIME_ZONE_INFORMATION for the local time. What I need is a function which will give me that information for an arbitrary time zone regardless of what the local time zone is.</p>
  
  <p>The only way that I see to get that information is to go grab it directly from the registry, which is less than ideal. The <a href="http://msdn.microsoft.com/en-us/library/ms725481(v=VS.85).aspx" rel="noreferrer">TIME_ZONE_INFORMATION page</a> shows where it is in the registry, so it should be possible to fetch the information from there, but I'd much prefer a proper system function for doing it. Does such a function exist, or do I have to go registry diving to get the time zone info for an arbitrary time zone?</p>