В идеале, что бы я хотел сделать, это взять имя часового пояса и запросить Windows соответствующую информацию о часовом поясе (смещение от UTC, смещение DST, даты переключения DST и т. Д.). Похоже, что Windows использует структуру TIME_ZONE_INFORMATION для хранения такого рода информации. Итак, предположительно, мне нужна функция, которая берет строку с именем часового пояса и возвращает структуру TIME_ZONE_INFORMATION.Как вы получаете информацию о произвольном часовом поясе в Windows?
Тем не менее, все, что я могу найти, это такие функции, как GetTimeZoneInformation(), которые дают мне TIME_ZONE_INFORMATION для местного времени. Мне нужна функция, которая даст мне эту информацию для произвольного часового пояса, независимо от того, что такое местный часовой пояс.
Единственный способ, с помощью которого я могу получить эту информацию, - это захватить ее непосредственно из реестра, что является менее идеальным. В TIME_ZONE_INFORMATION page показано, где он находится в реестре, поэтому можно получить информацию оттуда, но я бы предпочел правильную системную функцию для этого. Существует ли такая функция, или мне нужно пойти в дайвинг для дайвинга, чтобы получить информацию о часовом поясе для произвольного часового пояса?
Поскольку http://msdn.microsoft.com/en-us/library/ms725473%28v=VS.85%29.aspx не отображает его, я бы сказал, что его нет. Что плохого в чтении из реестра? –
Это скорее боль, чем просто вызов функции, передаваемой строкой. Если это то, что я должен сделать, то это то, что я должен сделать, но я бы предпочел более простое решение. –